首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2 %{}的运用

2012-08-30 
Struts2 %{}的使用1.public class UserAction extends BaseAction{public String showText() {return w+

Struts2 %{}的使用

1.

public class UserAction extends BaseAction{    public String showText() {        return "w"+"hich";    }}


<s:property value="%{showText()}"/>


页面显示:which


2.

<s:url var="pagerActionPath" value="/page/admin/basic/user_list"></s:url>


在Stack Context中的request中能找到pagerActionPath的键值对


因此我可以

通过el来访问: ${requestScope.pagerActionPath }

通过#request来访问: <s:property value="#request.pagerActionPath"/>

通过%{}来访问: <s:property value="%{pagerActionPath}"/> (比较抽象)

官网:Another way to refer to a property placed on the Value Stack.

但是我在值栈中并没有pagerActionPath,它是存在于Stack Context,就是Action Context 中!

难道%{}就是先去value stack中找,如果找不到就到Stack Context中的 request中查找?


3.

这种情况下,我们想让文本框有默认值,因此只是想字符串,因此这么干,也可以这么干:value="'ca'"

<s:textfield key="state.label" name="state" value="%{'ca'}" />

如果这么干: value="ca",则调用value stack中的key为ca的值


4.

如果multiple="true",是可以的,s2自动计算字符串,让它转换成boolean类型

但是推荐自己搞定:%{true}


<s:select key="state.label" name="state" multiple="%{true}"/>


估计有点乱,应该是这样



热点排行