- 浏览: 1524720 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (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 10311、将struts2的json插件加入web工程的lib,js ... -
<s:generator>
2011-02-27 21:54 1420<s:generator val="%{'aa ... -
<s:merge>
2011-02-27 21:45 888<s:set var="americanCar ... -
<s:append>
2011-02-27 21:44 1246<s:set var="list1" ... -
<s:iterator>
2011-02-27 21:01 1389属性名称 必填项 默认值 ... -
<s:bean>
2011-02-27 18:32 950public class DegreeConverter { ... -
<s:param>
2011-02-27 18:21 3601param标签用来把一个参数传递给包含着它的那个标签。 不管 ... -
updownselect
2011-02-27 16:24 1398<s:updownselect name="c ... -
combobox
2011-02-27 16:08 958<s:combobox name="combo ... -
checkboxlist
2011-02-27 12:15 891ddd public class LoginAction ... -
select optgroup
2011-02-27 11:58 717代码片段: public class LoginAction ... -
select标签
2011-02-23 21:17 1019import com.opensymphony.xwork2. ... -
radio标签
2011-02-23 21:13 1009import java.util.SortedMap; ... -
list、listkey、listValue属性
2011-02-22 21:07 7251list、listKey、listValue属性对 ... -
Ongl 与 ValueStack ActionContext
2011-01-09 21:03 1475转自:http://blog.sina.com.c ... -
struts2.0的ognl表达式研究
2011-01-09 21:02 1036OGNL —— 完美的催化剂 为了解决数据从V ... -
关于Struts2.0 标签中采用%{} 的处理原理
2011-01-09 20:57 1591项目中采用struts2.0时,常常使用计算表单式的处理源码 ... -
struts2 tags
2010-01-08 13:22 12261.<s:property> propert ... -
Struts2和Freemarker整合应用批量静态页面的生成
2009-11-07 23:19 3855利用Struts2生成静态页面其实很灵活,很强大,尤其是利用S ... -
导致"ERROR - Could not find action or result"的可能原因。
2009-10-08 10:51 2161在某些情况Struts 2.x的一些错误消息提示让人看得琢磨不 ...
相关推荐
Struts2框架作为Java Web开发中的重要组成部分,在处理MVC架构时提供了强大的支持。其中,Struts2标签库(Struts2 Tags Library)是开发者常用的工具之一,它不仅简化了前端页面的开发工作,还提高了应用的性能与可...
### Struts1与Struts2的主要区别 #### 概述 Apache Struts 是一个用于构建企业级Java Web应用的开源框架。它分为两个版本:Struts1 和 Struts2。虽然两者都基于模型-视图-控制器(MVC)设计模式,但它们之间存在...
### Struts1与Struts2本质区别 #### 1. 在Action实现类方面的对比 - **Struts 1**:要求Action类必须继承一个抽象基类`Action`,这种设计方式意味着开发者必须按照预设的结构来编写代码,灵活性较低。这种通过抽象...
### Struts1与Struts2的主要区别 #### 一、Action执行机制的不同 - **Struts1**: 在Struts1框架中,Action是基于单例模式的,这意味着所有的请求都会共享同一个Action实例。这就导致了如果在Action中保存实例变量...
##### 1.2 Struts2与Struts1的区别 - **Struts2** 和 **Struts1** 虽然名字相似,但它们之间并没有直接的继承关系。实际上,Struts2的内核是基于WebWork框架的,而WebWork框架本身就是一个非常优秀的Web应用框架。 -...
### Struts2与Struts1的主要区别 #### Struts2架构设计与实现方式 - **Struts2**在设计上采用了更加灵活的方式,每个请求都对应一个实例化的Action对象,而不是像**Struts1**那样在整个请求周期内共享同一个Action...
### Struts1与Struts2的主要区别 #### 1. Action类的设计差异 - **Struts1**: 在Struts1框架中,Action类必须继承自一个抽象类`org.apache.struts.action.Action`。这种方式可能导致的问题是代码灵活性较低,尤其...
### Struts1与Struts2的区别与对比 #### 概述 Struts1与Struts2是基于Java的两种流行的Web应用框架,它们都遵循MVC(Model-View-Controller)设计模式,用于构建结构化的Web应用程序。Struts1是早期版本,在2000...
### Struts2 与 Struts1 的核心区别 #### 一、架构设计及Action实现方式 **Struts1** 在架构上要求Action类必须继承一个特定的抽象基类,这限制了开发者的灵活性,同时也意味着所有的Action都需要遵循相同的生命...
### Struts1与Struts2原理及区别详解 #### Struts1原理概述 **Struts1** 是一种基于MVC架构的开源Java Web框架,它主要用于构建动态网站和应用程序。Struts1的核心组件包括ActionServlet、ActionForm以及Action...
在探讨Struts2与Struts1的区别时,我们需深入理解这两个框架的设计理念、架构模式以及它们在实际应用中的表现差异。以下将从多个角度详细分析这两种流行Java Web框架的不同之处。 ### 1. **Action类的区别** #### ...
### Struts1与Struts2的关键区别 #### Struts框架简介 Struts是一个开源的MVC(Model-View-Controller)框架,它帮助开发者构建结构化的Web应用程序。Struts有两个版本:Struts1和Struts2。这两个版本虽然都是基于...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
Struts2支持OGNL(Object-Graph Navigation Language)作为其默认表达式语言,允许在JSP页面中直接访问对象属性和执行方法,而Struts1使用的是JSP EL(Expression Language)或者自定义的Struts标签。 **4. 视图...
Struts2 和 Struts1 是两个著名的 Java Web 开发框架,它们都出自 Apache Software Foundation,但有着显著的区别。Struts1 是早期的 MVC 框架,而 Struts2 则是在 WebWork 框架的基础上发展起来的,它吸收了 Struts...
- 为了克服这些问题,Apache Software Foundation推出了Struts2,这是一个全新的框架,虽然名称相似,但实际上与原始的Struts框架有着本质的区别。 - **Struts2的特点**: - 更强大的MVC架构支持。 - 内置拦截器...
表达式语言(EL)方面,Struts1使用JSTL EL,功能相对较弱,而在Struts2中,它支持更强大的OGNL,允许更灵活的对象图遍历和操作。 视图层的绑定方面,Struts1依赖标准JSP机制,而Struts2引入了ValueStack技术,使得...