<s:textfield value ="%{#session.username}" name="account.userid" label="设置昵称" required="true"></s:textfield>
还是个小细节的问题 !~
本是想在注册之后,将注册的名字通过session.set("username",username);
然后转到AccountRegist.jsp页面,先前都写成
<s:textfield value ="#session.username" name="account.userid" label="设置昵称" required="true"></s:textfield>
或者
<s:textfield value ="${session.username}" name="account.userid" label="设置昵称" required="true"></s:textfield>
或者
<s:textfield value ="session.attribute[‘username’]" name="account.userid" label="设置昵称" required="true"></s:textfield>
~~~~~~~~~~~~
试了这几个都不行,出现的值都是value里的字符串,而不是去值栈里取值的,搞得真是够郁闷的~
***************************************************************
#、%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分。在这里笔者简单介绍它们的相应用途。
1.#符号的用途一般有三种。
1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”) 。
2)用于过滤和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
3)用来构造Map,例如示例中的#{’foo1′:’bar1′, ’foo2′:’bar2′}。
2.%符号
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:
构造Map
<s:set name=”foobar” value=”#{’foo1′:’bar1′, ‘foo2′:’bar2′}” />
<p>The value of key “foo1″ is <s:property value=”#foobar['foo1']” /></p>
<p>不使用%:<s:url value=”#foobar['foo1']” /></p>
<p>使用%:<s:url value=”%{#foobar['foo1']}” /></p>
3.$符号
$符号主要有两个方面的用途。
在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在${min}同${max}之间。
在Struts 2框架的配置文件中引用OGNL表达式,例如下面的代码片断所示:
<validators>
<field name=”intb”>
<field-validator type=”int”>
<param name=”min”>10</param>
<param name=”max”>100</param>
<message>BAction-test校验:数字必须为${min}为${max}之间!</message>
</field-validator>
</field>
看了这个之后就试了改为value ="%{#session.username}"
分享到:
相关推荐
struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用
本资源适合刚接触Struts和Ognl的小伙伴交流学习,欢迎吐槽。
Struts2学习计划5---Struts2_OGNL(对象图导航语言)的学习
从官网checkout下来的源码,如果大家觉的区官网麻烦可以直接下载这个
struts2的ognl
Struts2中ognl-2的源代码,从官网下载的
有对struts2标签和OGNL的总结。
struts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_ognl基本用法.docstruts2_...
关于struts2中ognl的说明、原理及使用,对于初学者进阶是个不错的参考
ognl与struts2_ognl
struts2-OGNL表达式测试代码
struts2 OGNL,struts2 表达式语言,Struts2 中OGNL表达式的用法,Struts2 #,表达式语言的好处,Struts2 $,struts2 井号,星号,百分号
NULL 博文链接:https://xiangkw.iteye.com/blog/1103095
struts2 OGNL的主要用法 基本覆盖全部
struts2和ognl的一些知识,struts2中文教程,中文帮助文档
Struts2的一个关键特性就是它可以对Action携带的数据进行读写访问,例如在前面我们在表单中使用user.username指定数据传递给Action的user对象的username属性,在元素中使用user.username来获取用户的名字,这是通过...
主要是ognl的用法,很适合新手上路的,源代码很清晰可见,一看就懂
OGNL是通常要结合Struts 2的标志一起使用,如等。大家经常遇到的问题是#、%和$这三个符号的使用。下面我想通过例子讲述这个问题: 首先新建名为Struts2_OGNL的Web工程,配置开发环境。之前很多朋友在使用Struts 2的...
整合多份struts2中关于ognl的学习资料