- 浏览: 1504651 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
转自:http://hi.baidu.com/dinfengbo/blog/item/c8500c34c80aa994a9018ecc.html
$ # %的区别
a) $用于i18n和struts配置文件
b) #取得ActionContext的值
c) %将原本的文本属性解析为ognl,对于本来就是ognl的属性不起作用
应该是这样的:
如果你的变量放在jsp内置对象中则需要这样#request.user.username||#session.user.username
如果你想遍历一个List则你可以这样
<s:iterator value="items" id="item" status="st">
<s:if test="st==0">
<s:a href="#item.id">${item.name}</s:a>可以
<s:a href="%{item.id}">${item.name}</s:a>编译通不过
<s:a href="${item.id}">${item.name}</s:a>编译通不过
<h3><s:property value="username"/></h3>可以
<h3><s:property value="#item.username"/><h3>可以
<h3><s:property value="${item.username}"/><h3>编译通不过
<h3><s:property value="%{item.username}"/><h3>不到错得不到值(因为item没有item属性)
<h3><s:property value="%{username}"/><h3>可以
</s:if>
</s:iterator>
页面中直接调用(employee是Action中的成员变量有get和set方法)
<h2>%{employee.username}</h2>不报错但是得不到值页面显示%{employee.username}
<h3>#{employee.username }</h3>直接编译通不过
<h3>${employee.username }</h3>可以得到值
如果你自己在页面上组装自己的数据(参数)
<s:url id="userid" action="delete.action">
<s:param name="operation" value="7"></s:param>
</s:url>
那么这个时候你就必须要使用
<s:a href="%{userid}"></s:a>
综上所述:
注意
一:在 struts2的标签中绝对不能使用$符号eg<s:textfield value="${username}"/>一旦你这样用页面编译就通不过
二:建议在遍历list的时候不要这样 (#对象.属性和%属性)最好<s:property value="属性"/>.如果你想为你的用户名添加一个连接
可以这样<s:a href="#item.id"> <s:property value="username"/></s:a>
还可以这样:<s:a href="#item.id"><s:property value="#{item.username}"/></s:a>多此一举
还可以这样:<s:a href="#item.id"><s:property value="%{username}"/></s:a>也有点多此一举
还可以这样:<s:a href="#item.id">${item.username}</s:a>兼容性不佳
还可以这样:<a>${item.username}</a>但是这样与struts的关联不太紧密
三:"#"只能在遍历和request及session及applicatin等内置对象中使用
四:"$"主要是用来做简单的显示,注意不要将它写到struts2标签中去
五:"%"主要用在自己在页面组装一些数据特别是参数和遍历list中的属性的时候用
建议,“%”尽量用在组装页面数据的时候使用
“$”尽量用在获取简单的内容性能信息的时候使用
“#”尽量用在针对request、session等的时候使用
"#"和"%"必须配合struts2标签使用
遍历数据最好写法:
<s:iterator value="items" id="item">
<s:a href="%{属性名1}"> <s:property name="属性名2"/></s:a>
</s:iterator>
<s:select label="Role" name="employee.initRole" listKey="id" listValue="name" list="%{data}">
</s:select>
发表评论
-
Struts2 (Json) + jQuery 组合的简单用法
2011-03-01 23:02 9961、将struts2的json插件加入web工程的lib,js ... -
<s:generator>
2011-02-27 21:54 1403<s:generator val="%{'aa ... -
<s:merge>
2011-02-27 21:45 865<s:set var="americanCar ... -
<s:append>
2011-02-27 21:44 1213<s:set var="list1" ... -
<s:iterator>
2011-02-27 21:01 1368属性名称 必填项 默认值 ... -
<s:bean>
2011-02-27 18:32 915public class DegreeConverter { ... -
<s:param>
2011-02-27 18:21 3572param标签用来把一个参数传递给包含着它的那个标签。 不管 ... -
updownselect
2011-02-27 16:24 1364<s:updownselect name="c ... -
combobox
2011-02-27 16:08 927<s:combobox name="combo ... -
checkboxlist
2011-02-27 12:15 865ddd public class LoginAction ... -
select optgroup
2011-02-27 11:58 692代码片段: public class LoginAction ... -
select标签
2011-02-23 21:17 987import com.opensymphony.xwork2. ... -
radio标签
2011-02-23 21:13 987import java.util.SortedMap; ... -
list、listkey、listValue属性
2011-02-22 21:07 7223list、listKey、listValue属性对 ... -
Ongl 与 ValueStack ActionContext
2011-01-09 21:03 1450转自:http://blog.sina.com.c ... -
struts2.0的ognl表达式研究
2011-01-09 21:02 1007OGNL —— 完美的催化剂 为了解决数据从V ... -
关于Struts2.0 标签中采用%{} 的处理原理
2011-01-09 20:57 1570项目中采用struts2.0时,常常使用计算表单式的处理源码 ... -
struts2 tags
2010-01-08 13:22 11981.<s:property> propert ... -
Struts2和Freemarker整合应用批量静态页面的生成
2009-11-07 23:19 3819利用Struts2生成静态页面其实很灵活,很强大,尤其是利用S ... -
导致"ERROR - Could not find action or result"的可能原因。
2009-10-08 10:51 2135在某些情况Struts 2.x的一些错误消息提示让人看得琢磨不 ...
相关推荐
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
3 Servlet依赖方面的对比:Struts 1 Action依赖于Servlet API,因为Struts 1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。Struts 2 Action不再依赖于Servlet API,从而允许Action脱离Web...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
Struts2和Struts1的区别,详细点,主要说说Struts2
其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为...
struts1 struts2 Struts1和Struts2区别
struts2 与 struts1的区别
Struts1和Struts2的区别和对比,从各个方面对 Struts1和Struts2进行了详细的介绍及比较
struts1和struts2的区别(详细).txt
struts与struts2的区别..
struts1与struts2的区别,线程模式,servlet的依赖...
其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为...
Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2 Struts 2 英文学习网站:hthttp://struts.apache.org/2.1.6/index.html
Struts2和Struts1的什么区别
Struts1与Struts2原理 区别详解汇总
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的...
Struts1和Struts2的区别和对比.txt