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

struts2中action以及request中参数的获取步骤

2012-10-25 
struts2中action以及request中参数的获取方法经过struts2加工的request里面内容分布是下面这样的{?? ?r

struts2中action以及request中参数的获取方法

经过struts2"加工"的request里面内容分布是下面这样的

{

?? ?"request":{

?? ? ? ?"attrib1":"attrib1",

?? ? ? ?"attrib2":"attrib2",

?? ? ? ?"valuestack":{

?? ? ? ? ? ?"actioncontext":"actioncontext",

?? ? ? ? ? ?"useraction":[

?? ? ? ? ? ? ? ?"property1",

?? ? ? ? ? ? ? ?"property2"

?? ? ? ? ? ?]

?? ? ? ?}

?? ?}

}

request里面有个ValueStack的东西,里面包含了一个ActionContext和Action本身。

而ActionContext里面又包含了以Map形式展现了的request,session,application等这些scope。

?

你可以在action中调用servletActionContext获得HttpServletReqeust对象,直接放入request中,那这个属性就成了上面的attrib1,attrib2。(官方不推荐直接在action中用到servlet API)你也可以把属性设在action中,那就成了上面的property1,property2了

?

在页面上,这两者都可以用<s:property/>标签取得,但是取得方法是不一样的,property1,2可以直接用

<s:property value="property1"/>

?

这样取到

但是如果你用同样方法取attrib1,如<s:property value="attrib1"/>则什么也不会得到。

如何获得attrib1? 如何用<s:property>获取直接存在request中的属性?

是通过ognl表达式 ,<s:property value="#request.attrib1"/> 这样就行了。

热点排行