ONGL表达式 “%, #, $”
1、 支持对象方法调用:obj.test();
2、 支持静态方法调用与静态值访问:“@类全名(包括包路)@方法或属性”
@java.lang.String@format(‘foo % s’, ‘bar’) 或@java.lang.Date@MOUNT
3、支持赋值与表达式串联
4、访问ActionContext上下文
5、操作集合对象
值栈:
<s:iterator value="books" var="book">
<s:property value=”name”/> 相当于:<s:property value=”book.name”/> 代表当前?
</s:iterator>
<s:property value=”name”/> 值栈取值可不用加#号
循环时,book被推到了值栈顶端
-----------------------------------------------------------------------------------------------------------------------------
“%, #, $”
#:符号
访问非根对象(值栈:根对象): #相当于ActionContext.getContext();
ActionContext中有用的属性:
Parameters:
包含当前HTTP请求参数Map
#parameters.id[0] 相当于 request.getParameter(“id”);
Request:
包含HttpServletRequest的属性(attribute)的Map
#request.userName request.getAttribute(“userName”);
Session:
#session.userName Session.getAttribute(“userName”);
Application
#application.,username #application.getAttribute(“username”);
Attr:
attr 用于按request > session > application顺序访问其属性(attribute),#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止。用于过滤和投影(projecting)集合,如books.{?#this.price<100};构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。
books.{?#this.price<100}: 过滤出books中所有price小于100的book;
?: 取所有符合选择逻辑的元素
^: 取第一个
$: 取最后一个
“%”符号 像 javascript中的 eval() 函数
可以将%{……}内的字符串 转换成 表达式;如 var jsonObj = eval ( jsonString );
Because:
struts2里不同的标签对ognl的表达式的理解是不一样的。如果当有的标签“读不懂”类似“#myMap['key1']”的语句时,就要用%{}来把这括进去,“翻译”一下
标签用例:
S:if
<s:if test=”%{#book.name != ’feifei’ && #book.price == 100}”></s:if>
<s:if test=’#book.price !=”” && #book.price != null’></s:if>
<s:elseif test=’#book.price !=”” && #book.price != null’></s:elseif>
<s:else></s:else>
S:iterator
Value: 集合 books
Id: 集合里元素的id
var: 元素 book
Status: s #s.odd, #s.count, #s.index, #s.first, #s.last, s.modules(int) 取模
<s:iterator value=”books” var=”book” status=”s”></s:iterator>
分享到:
相关推荐
struts2标签库struts2标签库struts2标签库struts2标签库
Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
主要介绍了struts2的标签的详细使用例子说明
struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签
通过struts2 自定义标签实例,可以用这个对项目中的实现自定义标签。从而减少代码。
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
struts标签 • Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建相关bean的能力。 HTML Tags:该标签库包含的标签可以用来创建...
java Web开发,我们最常用的Struts2常用标签总结,帮助你Struts2常用标签有那些功能
03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar
Struts2常用标签详细介绍
Struts2自定义分页标签很详细了,新手可以少走弯路,节约时间 资源包括了后台如何操作。
Struts2中实现自定义标签很简单,主要分为3步: 1.创建taglib文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不...
struts 2 s标签 a标签创建一个HTML超链接,等价于HTML 的 示范代码: 登陆</s:a>
Struts标签 Struts标签Struts标签Struts标签Struts标签
struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置文件进行了详细的说明。 Struts2―表单验证validate(html)对validate的type属性...
Struts2自定义标签,附带配置文件及后台代码,从工作当中整理
struts2 标签 国际化 文件上传 校验 拦截器 struts2.0的标签库(简介) 用过struts1.x的人都知道,标签库有html、bean、logic、tiles, 而struts2.0里的标签却没有分类,只用在jsp头文件加上 ...
基于struts2的自定义分页标签实现的一个demo,连接数据库为Oracle
STRUTS:struts2标签库