- 浏览: 1067884 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
以前,我们如果在一个FORM中要实现在这个FORM中对多个对象同时保存,是件很麻烦的事情,在struts2.0中,我们可以利用ognl方式来实现多个对象的同时保存.
1.ognlCollection.jsp
方式一:
<form action="ognlcollection.action" method="post">
<input type="text" name="products[0].name" value="aaa" />
<input type="text" name="products[1].name" value="bbb" />
<input type="text" name="products2[0].name" value="ccc" />
<input type="text" name="products2[1].name" value="ddd" />
<input type="submit" value="submit" />
</form>
在JAVA中有一个procutcs的LIST,该属性名要和JAVA中的属性名称对应起来.
方式二:通过用纯OGNL表达式来做
<s:iterator value="new int[3]" status="stat">
<tr>
<td><s:textfield name="%{'products['+#stat.index+'].name'}"/></td>
<td><s:textfield name="%{'products['+#stat.index+'].price'}"/></td>
<td><s:textfield name="%{'products['+#stat.index+'].dateOfProduction'}"/></td>
</tr>
</s:iterator>
通过iterator方式,NEW出三个对象
"%{'products['+#stat.index+'].name'}"通过索引来标记不同的对象,然后插入到后台的LIST当中#stat.index表示取出其中的索引.
2.OgnlCollectionAction.java
package com.ognl.action;
import java.util.List;
import java.util.Map;
import com.bean.Product;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.Element;
import com.vo.User;
public class OgnlCollectionAction extends ActionSupport {
List<User> users;
List<Product> products;
@Element(value = Product.class)
List products2;
//在这里通过两种方式来写LIST.第一种通过泛型,所以不用指出保存在LIST中的对象类型.第二中则是以前不用泛型的方式.必须要加上一个Annotation来表示保存在LIST中的对象名.
public List<Product> getProducts() {
return products;
}
public void setProducts(List<Product> products) {
this.products = products;
}
@Override
public String execute() throws Exception {
System.out.println("------------------");
for(Product p : products)
{
System.out.println("products name : "+p.getName());
}
System.out.println("products2[0] name : "+((Product)products2.get(0)).getName());
System.out.println("products2[1] name : "+((Product)products2.get(1)).getName());
return null;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public List getProducts2() {
return products2;
}
public void setProducts2(List products2) {
this.products2 = products2;
}
/*public List getUsers2() {
return users2;
}
public void setUsers2(List users2) {
this.users2 = users2;
}
public Map<String, User> getUsersMap() {
return usersMap;
}
public void setUsersMap(Map<String, User> usersMap) {
this.usersMap = usersMap;
}
public Map getUsersMap2() {
return usersMap2;
}*/
/*public void setUsersMap2(Map usersMap2) {
this.usersMap2 = usersMap2;
}*/
}
3.struts.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts2" extends="struts-default">
<action name="ognl" class="com.ognl.action.OgnlAction">
<result name="result">/ognl.jsp</result>
</action>
<action name="ognlcollection" class="com.ognl.action.OgnlCollectionAction">
</action>
</package>
</struts>
发表评论
-
struts2 之命名空间
2014-11-21 10:15 840把namespace单独拉出来讲一方面是因为它实际上不是一个 ... -
struts2 annotation 验证采用自定义的跳转
2014-11-19 11:22 977对于methodName 和resultName ... -
Struts2 annotation方法验证
2014-11-18 11:58 836struts2的验证分为分编程式验证、声明式验证、注解式验证 ... -
struts2 设置全局404页面
2014-11-04 10:38 1053目前在做一个网络应用程序,struts2 + spring ... -
struts2 整合json 出现no default param json type问题解决
2014-11-04 09:35 621服务器配置json后 我开始配置采用的是、<resu ... -
struts2 默认命名空间默认提示问题
2014-11-03 17:13 698不知道大家有没有遇到在使用表单的时候,有时候会出一个莫名其妙 ... -
struts2 配置下载文件解决中文文件名的问题
2012-04-05 17:01 1607我们的项目名为 struts2hello ,所使用的开发环境 ... -
struts2 下载文件报错的问题
2012-04-05 17:00 12192010-1-22 9:45:03 org.apache.st ... -
struts2 文件下载配置
2011-11-08 09:55 1663有些应用我们要下载文件,而不是直接在浏览器中打开,我们在STU ... -
使用struts2加ztree加jquery生成树形结构
2011-06-11 23:22 7148首先下载ztree,然后引入 ... -
struts2.1.8.1+jquery1.4.2返回json数据
2011-05-26 06:57 12141、引入包(本文中的包全部引自struts-2.1.8.1\l ... -
解决response.sendRedirect(url); 的URL中包含中文的问题
2010-09-10 08:54 3316今天在项目中,发现在response.sendRedirect ... -
请求转发和请求重定向
2010-09-08 10:00 1916请求转发请求转发允许把请求转发给同一应用程序中的其他Web组件 ... -
struts2中提交的中文乱码解决办法
2010-09-08 09:22 2184jsp文件中使用struts2 <s:form>表 ... -
struts2中select的用法
2010-09-07 17:27 1041<s:select name="disabl ... -
对于struts2中textfiled标签每次自己添加了tr,td等代码的处理
2010-09-07 16:47 1944初学struts2,在头脑中一直在想一个问题,就是对于stru ... -
如何给struts2的redirect的result传递多个参数
2010-09-06 16:24 3192如何给struts2的redirect的result传递多个参 ... -
struts2.0学习笔记九(struts2.0中的拦截器的使用)
2009-03-27 15:26 1159struts2.0中基本拦截器的配置采用的是可插拔的方式 1. ... -
struts2.0学习笔记八(struts2.0中的验证方式)
2009-03-15 10:13 1127在struts2.0中也是通过采用validate方法来验证客 ... -
struts2.0学习笔记七(struts2.0action中植的传递)
2009-03-13 15:40 1358当我们在程序中,从一个ACTION到另一个ACTION的跳转, ...
相关推荐
Struts2.0 是一个流行的 Java Web 开发框架,它极大地简化了MVC(模型-视图-控制器)架构的实现。本篇笔记将详细介绍如何在MyEclipse环境中配置Struts2.0,并逐步演示从创建运行环境到实现简单的验证和自定义类型...
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个产品。这个框架主要用于构建MVC(Model-View-Controller)架构的应用程序,为开发者提供了一种组织代码和控制应用程序流程...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
Struts2是一个强大的Java web应用程序框架,用于构建和部署可维护、高性能的Web应用程序。它在原有的Struts1基础上进行了大量的改进和优化,引入了更多现代框架的理念和技术,如依赖注入(DI)、面向切面编程(AOP)...
Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java EE的Web应用程序。它提供了MVC(Model-View-Controller)设计模式的实现,帮助开发者更好地组织和管理代码,提升开发效率。本学习笔记...
### Struts2学习笔记2012 #### 一、建立一个Struts2工程 **步骤详解:** 1. **创建Web项目:** - 在MyEclipse中选择“File” > “New” > “Dynamic Web Project”,创建一个新的Web项目。 2. **解压并配置...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。本笔记将深入探讨Struts2的核心组件、配置以及它的一些关键特性。 首先,让我们从`web.xml`配置文件开始。这个文件是Java ...
本学习笔记将详细阐述Struts2的核心概念、发展历程、使用步骤以及OGNL技术。 一、Struts2概述 1.1 为什么要用Struts 在传统的JSP开发中,模型与视图、控制器的耦合度较高,导致代码维护困难。Struts2引入了MVC...
### Unmi的Struts2学习笔记关键知识点解析 #### 一、Struts2与Struts1的主要区别 1. **架构上的变化**:Struts2并非Struts1的直接升级版,而是基于WebWork框架发展而来,这导致两者在设计哲学和技术实现上有很大...
在Struts2.2中,每个HTTP请求都会创建一个Action对象,与Servlet不同,Servlet在整个应用生命周期中通常只有一个实例。类型转换是Struts2处理数据绑定的关键步骤。当用户提交表单时,Struts2会根据struts.xml配置...
防止表单重复提交是Web开发中的常见问题,Struts2通过令牌机制来解决这个问题,避免了同一操作被多次执行。 项目练习部分涉及到使用Ajax实现异步请求并返回JSON数据,这通常通过Struts2的JSON插件实现。文件下载则...
你可以创建一个实现了`ActionForm`接口的类,然后在Action中通过`@FormBean`注解指定这个类。表单字段的数据会自动映射到ActionForm对象的属性上。 ```java public class UserForm implements ActionForm { ...
### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...
本学习笔记将深入探讨Struts2的核心概念、工作原理以及如何在实际开发中有效利用它。 **1. MVC模式与Struts2** MVC模式是一种软件设计模式,它将业务逻辑(Model)、用户界面(View)和数据控制(Controller)分离...