struts2中,action获取的值

冰蓝色狂想曲 2015-06-30 12:28:09
现在我会使用

<s:form action="testAction">
<s:textfield name="name" key="名称" />
<s:submit key="提交"/>
</s:form>

在对应的action中,只要有name的setter和getter,就能获取输入的name值。
但现在的问题是,如果像是

<s:form action="TestAction">
<s:property value="#session.name" />
<s:submit key="提交" />
</s:form>

我想在action当中获取s:property中现实的值,可以做到吗
...全文
578 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sumy_lu 2016-01-13
  • 打赏
  • 举报
回复

         HttpServletRequest request = ServletActionContext.getRequest();
        Object value= ServletActionContext.getValueStack(request).findValue("name");
风过无痕1110 2015-07-01
  • 打赏
  • 举报
回复
1. 我想解答楼主的一个问题,就是<s:property>不能传到后台, 这个问题其实很简单,能不能传,其实还是html来决定的,像输入框,隐藏域 <input type="text"> <input type="hidden" name="" value=""/> <select>等等 struts标签是后台代码,后台执行完jsp后,到前端就变成html了,你审查元素就知道了 像那s:textfield 这些鬼东西,最终都转化成了Input这些东西 你要透过现象看本质,自己研究下就知道
shixitong 2015-07-01
  • 打赏
  • 举报
回复
引用 7 楼 u013589366 的回复:
[quote=引用 4 楼 shixitong 的回复:] 搞个隐藏变量传过去就行了
请问 能稍微详细说点吗?是什么隐藏变量?struts2里的还是? 稍微指点下 我就能自己查查相关资料了 谢谢[/quote] 不管是struts2还是其它,你前台都可以用
<input type="hidden" name="" value=""/>
提交到后台
scmod 2015-06-30
  • 打赏
  • 举报
回复
哦...那不是<s:textfield name="name" key="名称" value="#session.name" />这样就能后台拿到name? 或者<s:textfield name="name" key="名称" value="<s:property value='#session.name'/>" /> s标签不知道这样行不行.. input标签是可以的 然后不管是啥s:property的值都在struts的值栈里面 后台通过值栈都能get出来... 不过不知道楼主是不是这意思.. 我语文很差的~~
冰蓝色狂想曲 2015-06-30
  • 打赏
  • 举报
回复
引用 4 楼 shixitong 的回复:
搞个隐藏变量传过去就行了
请问 能稍微详细说点吗?是什么隐藏变量?struts2里的还是? 稍微指点下 我就能自己查查相关资料了 谢谢
冰蓝色狂想曲 2015-06-30
  • 打赏
  • 举报
回复
引用 3 楼 scmod 的回复:
是要获取#session.name这个值还是#session.name里面储存的值?
重点不是session。。 比如s:textfield,可以获取其中任意值,不管是session还是输入值,都可以获取。。 我就想知道s:property是否能达到同样的效果
西部落酋长 2015-06-30
  • 打赏
  • 举报
回复
额。。session的值get就能的出来
shixitong 2015-06-30
  • 打赏
  • 举报
回复
搞个隐藏变量传过去就行了
scmod 2015-06-30
  • 打赏
  • 举报
回复
是要获取#session.name这个值还是#session.name里面储存的值?
冰蓝色狂想曲 2015-06-30
  • 打赏
  • 举报
回复
引用 1 楼 scmod 的回复:
ServletContext什么的可以getSession出来 或者struts的valueStack貌似也能拿出来 问题是#session.name这个不是本来就是楼主自己放session里面的嘛? 还有就是一般<s:textfield name="name" key="名称" value="#session.name" />这样是不是也能直接提交到action的来着....
呃,这位大哥,你好像搞错重点了。 我问题问的重点是,如何读取s:property中value的值。。 而不是如果value是属于session,那么我在Action中如何读取session的值。。。 s:property中value的值可以是任意的。。我就想问,这个任意值如何读取到action中。。不用纠结在#session.name上。。
scmod 2015-06-30
  • 打赏
  • 举报
回复
ServletContext什么的可以getSession出来 或者struts的valueStack貌似也能拿出来 问题是#session.name这个不是本来就是楼主自己放session里面的嘛? 还有就是一般<s:textfield name="name" key="名称" value="#session.name" />这样是不是也能直接提交到action的来着....

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧