- 浏览: 1040869 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 802把namespace单独拉出来讲一方面是因为它实际上不是一个 ... -
struts2 annotation 验证采用自定义的跳转
2014-11-19 11:22 933对于methodName 和resultName ... -
Struts2 annotation方法验证
2014-11-18 11:58 804struts2的验证分为分编程式验证、声明式验证、注解式验证 ... -
struts2 设置全局404页面
2014-11-04 10:38 1017目前在做一个网络应用程序,struts2 + spring ... -
struts2 整合json 出现no default param json type问题解决
2014-11-04 09:35 590服务器配置json后 我开始配置采用的是、<resu ... -
struts2 默认命名空间默认提示问题
2014-11-03 17:13 656不知道大家有没有遇到在使用表单的时候,有时候会出一个莫名其妙 ... -
struts2 配置下载文件解决中文文件名的问题
2012-04-05 17:01 1572我们的项目名为 struts2hello ,所使用的开发环境 ... -
struts2 下载文件报错的问题
2012-04-05 17:00 11892010-1-22 9:45:03 org.apache.st ... -
struts2 文件下载配置
2011-11-08 09:55 1634有些应用我们要下载文件,而不是直接在浏览器中打开,我们在STU ... -
使用struts2加ztree加jquery生成树形结构
2011-06-11 23:22 7119首先下载ztree,然后引入 ... -
struts2.1.8.1+jquery1.4.2返回json数据
2011-05-26 06:57 11781、引入包(本文中的包全部引自struts-2.1.8.1\l ... -
解决response.sendRedirect(url); 的URL中包含中文的问题
2010-09-10 08:54 3234今天在项目中,发现在response.sendRedirect ... -
请求转发和请求重定向
2010-09-08 10:00 1879请求转发请求转发允许把请求转发给同一应用程序中的其他Web组件 ... -
struts2中提交的中文乱码解决办法
2010-09-08 09:22 2160jsp文件中使用struts2 <s:form>表 ... -
struts2中select的用法
2010-09-07 17:27 1006<s:select name="disabl ... -
对于struts2中textfiled标签每次自己添加了tr,td等代码的处理
2010-09-07 16:47 1916初学struts2,在头脑中一直在想一个问题,就是对于stru ... -
如何给struts2的redirect的result传递多个参数
2010-09-06 16:24 3162如何给struts2的redirect的result传递多个参 ... -
struts2.0学习笔记九(struts2.0中的拦截器的使用)
2009-03-27 15:26 1121struts2.0中基本拦截器的配置采用的是可插拔的方式 1. ... -
struts2.0学习笔记八(struts2.0中的验证方式)
2009-03-15 10:13 1089在struts2.0中也是通过采用validate方法来验证客 ... -
struts2.0学习笔记七(struts2.0action中植的传递)
2009-03-13 15:40 1331当我们在程序中,从一个ACTION到另一个ACTION的跳转, ...
相关推荐
06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新...
在Struts 2.0中实现表单数据校验(Validation) Struts 2的基石——拦截器(Interceptor) 在Struts 2中实现IoC 在Struts 2中实现文件上传 在Struts 2中实现CRUD Struts 2中的OGNL Strus 2的新表单标志的使用 ...
struts2.0的特点
06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 trus 2的新...
基于WebWork核心的MVC开发与实践(ognl这一章)
struts2.0.12jar包最新版 一般放入下面几个就行commons-logging-1.0.4.jar freemarker-2.3.8.jar ognl-2.6.11.jar struts2-core-2.0.12.jar xwork-2.0.6.jar
Struts 2中的表达式语言 ...OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言; Velocity,严格来说不是表达式语言,它是一种基于Java的模板匹配引擎,具说其性能要比JSP好。
06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器(Interceptor) 08 在Struts 2中实现IoC 09 在Struts 2中实现文件上传 10 在Struts 2中实现CRUD 11 Struts 2中的OGNL 12 Struts 2的...
从官网checkout下来的源码,如果大家觉的区官网麻烦可以直接下载这个
1.建立一个web Project; 2.导入struts2.0的核心包,注意全部导入全部的lib会引起错误; commons-fileupload-1.2.1.jar commons-io-1.3.2.jar freemarker-2.3.12.jar ognl-2.6.11.jar struts2-core-2.1.2.jar xwork-...
包含了struts2.0所需的5个jar包 commons-logging-1.1.jar freemarker-2.3.13.jar ognl-2.6.11.jar struts2-core-2.1.6.jar xwork-2.1.2.jar
这是学习struts2时记得重点笔记,包括了一些原理,ognl语句的编写,以及如何设置拦截器等等一些基本知识,起到复习和巩固的作用
struts2.0 要用到的 jar 包 commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,commons-logging-1.1.jar,freemarker-2.3.13.jar,ognl-2.6.11.jar,xwork-2.1.2.jar,struts2-core-2.1.6.jar 7个包 copy到WebRoot/WEB...
学习Struts的前提 ...第一个Struts例子 Struts常用的标签 Struts的Action Struts的Result Struts的表单 Struts拦截器 国际化(i18n)的实现 Struts的文件上传 上传应用:学生多媒体信息管理 OGNL的应用
知识点: ready, tag, action, internationalization, converter, validation, interceptor,ioc,file upload, crud, ognl,struts2&ajax struts1&struts2
·Struts 2.0中实现表单数据校验(Validation) ·拦截器(Interceptor) ·Struts 2中实现IoC ·Struts 2中实现文件上传 ·Struts 2中的OGNL ·Strus 2的新表单标签的使用 ·Struts 2与AJAX ·Struts2分页 ...
该资源包括struts2.0所有的jar包,...其中最常用的jar包是commmons-logging-1.0.4.jar、freemarker-2.3.8.jar、ognl-2.6.11.jar、struts2-core-2.0.11.jar和xwork-2.0.4.jar这5个包,这五个包在“常用五包”文件夹中。
免费资源 ==================== struts2漏洞解决办法 commons-lang3-3.1.jar (保留commons-lang-2.6.jar...ognl-3.0.5.jar (替换旧版本) struts2-core-2.3.4.1.jar (替换旧版本) xwork-core-2.3.4.1.jar (替换旧版本)
本人在学习struts2框架时的学习笔记,主要是ognl表达式语言的运用。希望对大家有所帮助!