java正则表达式是什么是OGNL表达式

OGNL表达式详解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
OGNL表达式详解
&&新手参考使用
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢博客分类:
  EL表达式应用于JSP中,其格式是 ${表达式}。
  OGNL表达式应用于Strtus2中(Struts2的自定义标签中、struts.xml...), 应用于Struts2的自定义标签的属性值中 %{表达式},在 struts.xml中 使用${表达式}方式,自定义标签的属性值中使用%,struts.xml中 使用$符号,原因是在JSP中使用$符号与EL相冲突,   语法:   %{name}取值栈中的值   %{#name}取值栈中Map中的值   %{#user.name}取值栈中Map中的值   #{'k':'v', 'k2':'v2'}定义一个Map   {'e1', 'e2'}定义一个List
  %{ #{'k':'v', 'k2':'v2'} }Struts2的自定义标签的属性值中 定义一个Map
  注意:在Struts2自定义标签的属性值中 ,有的标签需要使用%符号,也有的不需要,具体看实践操作,但如果都加上%符号,也不会出错。但有一些值中需要特殊指定需要计算OGNL表达式的地方,如链接中,不使用%符号的地方则不需要计算OGNL:
&s:a action="userAction_delete?id=%{id}" onclick="return delConfirm()"&删除&/s:a&
&s:a action="userAction_editUI?id=%{id}"&修改&/s:a&
浏览: 697902 次
来自: 北京
太好了,谢谢啊。
学习了,谢谢您~
算法有问题,会产生不可见字符,造成信息丢失
该图片仅限百度用户内部交流OGNL表达式标签中的值有三种:
1.直接是OGNL表达式。
2.字符串需转义自OGNL表达式。
1)OGNL表达式转换为字符串显示,需要用''(单引号)引起来。
2)转为OGNL表达式的字符串,需要加%{字符串}来转换
3.只能是字符串。
一、数据标签
1.property -- 显示数据
value -- 要显示的内容,放OGNL表达式 如果要显示字符串,需要用''引起来。
escape -- true/false & &默认是true, 改为false显示html效果标签
default 默认值,放字符串,不是放OGNL
&s:property value="'&h1&HAHA&h1&'" escape="false" default="[这是默认值]"/&
2.set -- 设置一个新变量,赋值
var -- 新变量名
scope --范围 page/request/session/application
value --变量值,OGNL表达式,字符串要加单引号
&s:set var="ah" value="newsList" scope="request"&&/s:set&
&s:property value="#request.ah"/&
3.url -- 生成网址
var -- 变量名
value--要生成的URL地址,字符串可转义自OGNL,要手动写出完整的地址。
action -- 要生成的URL地址,字符串可转义自OGNL,生成出绝对路径。一般用这个
&s:url var="uu" action="News_getAll"&&/s:url&
&s:property value="#uu"/&
4.bean -- JavaBean的实现类
name -- 要实例化的Java类
var -- 变量名
5.param -- 生成参数
name -- 标签名
value -- OGNL表达式,加单引号
&s:bean name="com.itnba.maya.domel.News" var="bbb"&
&s:param name="biaoti" value="'这是自定义的标题'"&&/s:param&
&s:property value="#bbb.biaoti"/&
&s:url var="uu" action="News_getAll"&
&s:param name="ids" value="'k001'"&&/s:param&
&s:property value="#uu"/&
6.date -- 格式化输出日期 name -- 要格式化的日期值
--- OGNL表达式 format --- 格式化显示的格式。
&s:date name="date" format="yyyy年MM月dd日" var="mydate"/&
&s:property value="mydate"/&
二、控制标签
1.if...else if ...else test -- 表格式 OGNL
2.iterator var value --OGNL status :even,odd,first,last,index,count begin end step
&s:iterator var="aa" value="newsList" status="st"&
&s:if test="#st.even"&
&div style="background-color:#666666;"&
&s:property value="#st.index+1"/&.
&s:property value="#aa.biaoti"/&
&/s:iterator&
3.append/merge/subset
var--新的对象名
&param& 子元素
&s:set value="{'aa','bb','cc'}" var="aa"&&/s:set&
&s:set value="{'11','22','33'}" var="bb"&&/s:set&
&s:append var="all"&
&s:param name="one" value="#aa"&&/s:param&
&s:param name="two" value="#bb"&&/s:param&
&/s:append&
&s:set value="{'aa','bb','cc'}" var="aa"&&/s:set&
&s:set value="{'11','22','33'}" var="bb"&&/s:set&
&s:merge var="all"&
&s:param name="one" value="#aa"&&/s:param&
&s:param name="two" value="#bb"&&/s:param&
&/s:merge&
&s:iterator value="#all"
&s:property value="#t"/&&br&
&/s:iterator&
4.generater seperator--分隔符 val--被分隔的字符串 var -- 分隔成的数组名
&s:generator val="'a,b,c,d'" separator="," var="s"&&/s:generator&
&s:iterator value="#s" var="t"&
&s:property value="#t"/&&br&
&/s:iterator&
5.sorted source --- 集合 comparator -- 对比器对象
&s:set value="{'aaaa','bb','ccc','dddd'}" var="arr"&&/s:set&
&s:bean name="com.itnba.maya.domel.Duibiqi" var="duibiqi"&&/s:bean&
&s:sort comparator="duibiqi" var="sss" source="#arr" &
&s:iterator var="str"&
&s:property value="#str"/&&br&
&/s:iterator&
&s:property value="#arr.size()"/&
还需要建一个类,实现Comparator接口。用来做对比器
package com.itnba.maya.
public class Duibiqi implements Comparator&String&{
public int compare(String o1, String o2) {
if(o1.length() & o2.length()){
return -1;
else if(o1.length() == o2.length()){
阅读(...) 评论()}

我要回帖

更多关于 什么是常量表达式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信