strus2 ognl 取得request、session 的值方法



strus2 ognl 取得request、session 的值方法

一、

对于取pageContext、parameters、request、session、application 等处的属性值(假如有 name 属性)时我们用的 EL 表达式分别是:
${pageScope.name}、${param.name}、{$requestScope.name}、{$sessionScope.name}、{$applicationScope.name}
那么对应的 OGNL 的解决方案分别是:
<s:peroperty value=”#attr.name”/> <s:property value=”#parameters.name”/> <s:property value=”#request.name”/> <s:property value=”#session.name”/> <s:property value=”#application.name”/> <s:textfield name=”name” value=”%{#parameters.name}”/>
说明,attr 如果可以访问到,则访问 pageContext,否则将 依次搜索 pageContext、request、session、application 相应值,所以可用来访问 pageContext 中的值,可替代 EL 的 ${pageScope.name}。

二、jsp页面显示

session 范围取值:

<s:property value=”#session.mySessionPropKey”/>

<s:property value=”#session['mySessionPropKey']“/>

  request 范围取值:

<s:property value=”#request['myRequestPropKey']“/>


在session中取值容易只要通过 %{#变量.属性名}即可,

<s:textfield value=”request['myRequestPropKey']“/> 这种方式是取出不出数值的

label标签和文本标签取值,解决方法:

session 取值:

<s:label label=”编辑用户” value=”%{#session.user.m_sUserName}” required=”true”/>

request 取值:

<s:textfield name=”bdef” value=“% {#request.对象名.属性名}” size=”50″ maxlength=”50″ />

http://blog.sina.com.cn/s/blog_543e73a80100qjr9.html