Struts中Ognl语法注意事项
2016-01-07 19:58
507 查看
<s:property />标签:
用于访问值栈中的各类对象,并可以直接访问action里的方法,对象的静态属性和静态方法,例如Math.PI和Math.sin()。
访问值栈中的普通属性:
userName = <s:property value="userName"/>
访问值栈中的对象属性:<s:property value="user.userName"/>(对于以上两种基本取值方式,使用el表达式更便利)
访问值栈中普通属性的普通方法:<s:property value="user.userName.length()"/>访问值栈中的普通方法:
<s:property value="test()"/>
访问值栈中对象属性的方法:
<s:property value="user.login()"/>
访问静态属性:
<s:property value="@com.struts.bean.Student@staticValue"/>
访问静态方法:
<s:property value="@com.struts.bean.Student@doStatic()"/>
访问Java提供的静态方法:
<s:property value="@@max(10,1)"/>
new构造方法:
<s:property value="new com.struts.bean.Users('abc','123').userName"/>
取对象中list集合:
<s:property value="student.studentList"/>
取list下的单个元素:
<s:property value="student.studentList[1]"/>
取list下的某个属性的特定值:
<s:property value="student.studentList[1].{userName}"/>
取Map集合:
studentMap = <s:property value="student.studentMap"/>
Map下的所有Key/value:
key = <s:property value="student.studentMap.keys"/>
values = <s:property value="student.studentMap.Values"/>
过滤:
<s:property value="student.studentList.{?#this.userName==\"user3\"}.{userName}"/>
[]的用法:
<s:property value="[0].user.passWord"/>
(这里[0]是对值栈对象 ValueStack进行操作,源码在CompoundRoot中,向值栈中存放的数据进行取值,[0]取第一个栈顶,规则按后进先出)
<s:url/>标签:
创建一个URL字符串,可用作提交
创建一个URL字符串,手动设置参数:
<s:url value="/getUser" var="url1">
<s:param name="userId" value="100"></s:param>
</s:url>
创建一个URL字符串,获取值栈中的值设置为参数,其中userName为值栈中的具体值:
<s:url value="/getUser" var="url2">
<s:param name="name" value="userName"></s:param>
</s:url>
创建一个URL字符串,若设置的value属性是自定义而不是从值栈中取,则需要添加单引号,否则会进入Ognl解析,即使值栈中没有该属性,也会解析:
<s:url value="/getUser" var="url3">
<s:param name="userName" value="'userName'"></s:param>
</s:url>
创建一个action请求:
<s:url action="UserAction" namespace="/test" method="label" var="url4"></s:url>
用于访问值栈中的各类对象,并可以直接访问action里的方法,对象的静态属性和静态方法,例如Math.PI和Math.sin()。
访问值栈中的普通属性:
userName = <s:property value="userName"/>
访问值栈中的对象属性:<s:property value="user.userName"/>(对于以上两种基本取值方式,使用el表达式更便利)
访问值栈中普通属性的普通方法:<s:property value="user.userName.length()"/>访问值栈中的普通方法:
<s:property value="test()"/>
访问值栈中对象属性的方法:
<s:property value="user.login()"/>
访问静态属性:
<s:property value="@com.struts.bean.Student@staticValue"/>
访问静态方法:
<s:property value="@com.struts.bean.Student@doStatic()"/>
访问Java提供的静态方法:
<s:property value="@@max(10,1)"/>
new构造方法:
<s:property value="new com.struts.bean.Users('abc','123').userName"/>
取对象中list集合:
<s:property value="student.studentList"/>
取list下的单个元素:
<s:property value="student.studentList[1]"/>
取list下的某个属性的特定值:
<s:property value="student.studentList[1].{userName}"/>
取Map集合:
studentMap = <s:property value="student.studentMap"/>
Map下的所有Key/value:
key = <s:property value="student.studentMap.keys"/>
values = <s:property value="student.studentMap.Values"/>
过滤:
<s:property value="student.studentList.{?#this.userName==\"user3\"}.{userName}"/>
[]的用法:
<s:property value="[0].user.passWord"/>
(这里[0]是对值栈对象 ValueStack进行操作,源码在CompoundRoot中,向值栈中存放的数据进行取值,[0]取第一个栈顶,规则按后进先出)
<s:url/>标签:
创建一个URL字符串,可用作提交
创建一个URL字符串,手动设置参数:
<s:url value="/getUser" var="url1">
<s:param name="userId" value="100"></s:param>
</s:url>
创建一个URL字符串,获取值栈中的值设置为参数,其中userName为值栈中的具体值:
<s:url value="/getUser" var="url2">
<s:param name="name" value="userName"></s:param>
</s:url>
创建一个URL字符串,若设置的value属性是自定义而不是从值栈中取,则需要添加单引号,否则会进入Ognl解析,即使值栈中没有该属性,也会解析:
<s:url value="/getUser" var="url3">
<s:param name="userName" value="'userName'"></s:param>
</s:url>
创建一个action请求:
<s:url action="UserAction" namespace="/test" method="label" var="url4"></s:url>
相关文章推荐
- struts2中的ognl
- JQuery+Strusts1.x无刷新登录
- 地震发生时的10条注意事项
- Web2.0下XHTML+CSS 设计需要注意的地方小结
- MySQL数据库的23个注意事项
- SQL编程之子查询及注意事项
- 部署PHP项目应该注意的几点事项分享
- 用ASP开发网页需要牢记的注意事项
- 45个JavaScript编程注意事项、技巧大全
- jquery 注意事项与常用语法小结
- 安装防火墙的12个注意事项
- Access转换成SQL Server需要注意事项整理
- java struts常见错误以及原因分析
- ASP.NE网站发布注意事项简析
- css display:none使用注意事项小结
- Android生存指南之:开发中的注意事项
- jQuery语法总结和注意事项小结
- Struts之logic标签库详解
- 通过实例深入学习Java的Struts框架中的OGNL表达式使用
- position属性的注意事项