struts2 s:action 问题

JerryBeckF 2008-06-25 11:08:35
<s:action name= >
<s:hidden name= /> //abc


</s:action>

@abc
貌似这里只能传s:hidden 组件,不能传<input type=hidden name= value= />组件,我想把s:hidden value="赋新的值" 似乎不行...
有什么组件还能传入s:action吗
...全文
1685 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQQQQQQQQQ22 2009-12-02
  • 打赏
  • 举报
回复

要只是s:action到可以
传值有问题
权子。 2008-11-17
  • 打赏
  • 举报
回复
晕,TMD
找到解决办法了,上来给你发一下,不晓得你还能看见否


<iframe src="/sns/LSInclude.do?userid=<%=ru_userid%>" width="100%" height="200" scrolling="no" frameborder="0"></iframe>
用这个就可以了,你试试
权子。 2008-11-17
  • 打赏
  • 举报
回复
同样的问题
当是你的思路有问题,我试了一下,也想了一下
首先
<s:hidden name="lsuserid" value="%{ru_userid}"></s:hidden>
<s:action name="LSInclude" executeResult="true">

即使hidden有值 action也取 不到那个参数即便你设置了get set
evennoob 2008-09-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 TRMeister 的回复:]
那个新值是从后台带过来么?
[/Quote]

如果是从后台传过来的话怎么赋值呢?
比如说那个值在ActionContext或者在bean里面的话。
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
怎么又出来个<s:action。。。。
先把问题搞清楚,到底哪里得不到值,你确认<s:hidden name="personname" value="%{personcode}" /> 没值吗

<s:textfiled name="personname" value="%{personcode}" />里有值吗

还是你的<s:action的参数里面没值

随便写个按钮,写个js函数alert一下personname你就知道有值没值了,还有你可以把页面上的所有代码都贴上来
JerryBeckF 2008-06-27
  • 打赏
  • 举报
回复
因为要传给s:action
似乎只能用<s:hidden 传值啊..
JerryBeckF 2008-06-27
  • 打赏
  • 举报
回复
<s:textfiled name="personname" value="%{personcode}" /> 是可以的

<s:hidden name="personname" value="%{personcode}" />
就不行,不能在页面赋新值...取的是action里返回的对应的值,如果没有action返回,则为空.
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
只能是你别的地方有问题,贴代码
JerryBeckF 2008-06-27
  • 打赏
  • 举报
回复
不对,没有值
Landor2004 2008-06-27
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 JerryBeckF 的回复:]
恩,我就是希望在页面设s:hidden新值,看来不行了...
[/Quote]

这是一个简单功能,这个都不能实现的话,那html、javascript还混啥,早就被骂没了
TRMeister 2008-06-27
  • 打赏
  • 举报
回复
那个新值是从后台带过来么?
JerryBeckF 2008-06-27
  • 打赏
  • 举报
回复
恩,我就是希望在页面设s:hidden新值,看来不行了...
TRMeister 2008-06-27
  • 打赏
  • 举报
回复
还有一种方法。你进这个页面之前的action是什么?你可以在action里面对应一个 域名字叫做personname,写上getter干setter方法。出来之前赋值好。就可以对应得显示在<s: hidden name="personname"/> 。这是struts2的一个很好的特性。
Landor2004 2008-06-26
  • 打赏
  • 举报
回复
<s:hidden id="personname" name="personname" value="%{'personcode'}"/> //取action中的pesoncode对应的字符串赋给personname?
为什么要加单引号,只需要这样
<s:hidden id="personname" name="personname" value="%{personcode}"/>

你把<s:hidden id="personname" name="personname" value="%{personcode}"/>
先改成text,显示一下看,看看值对不对
然后你再在js里面alert一下,看看到底有没有值

JerryBeckF 2008-06-26
  • 打赏
  • 举报
回复

<s:hidden id="personname" name="personname" value="%{'personcode'}"/> //取action中的pesoncode对应的字符串赋给personname?
<input type="text" name="txtpersonname" id="txtpersonname"/>
<script type="text/javascript">
document.getElementById('txtpersonname').value=document.getElementById('personname').value;
</script>

经测试,txtpersonname为空..
<s:hidden id="personname" name="personname" value="aaaa"/>
or
<s:hidden id="personname" name="personname" value="<s:propert…"/>
也是一样为空...

就是说不能在页面对s:hidden赋新值了吗?
TRMeister 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 Landor2004 的回复:]
引用 7 楼 TRMeister 的回复:
引用 5 楼 Landor2004 的回复:
你可以这样

<s:hidden name="personID" value="%{personID}"> </s:hidden>

或者这样

<s:hidden name="personID" value="%{'aaaaaaaaaaaaaaaabb'}"> </s:hidden>


他不是要赋新值么?


上面不是两种赋值方法吗,或者直接
<input type="hidden" name="adsf" value="aaaaaaaaabb">
<input type="hidden" name="adsf" value=" <s:propert…
[/Quote]

这样可以是很好的赋值方法,传递从acton过来的参数。
就是不知道楼主什么需求,还是根据页面的点击或者输入给<s:hidden/>赋值
Landor2004 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 TRMeister 的回复:]
引用 5 楼 Landor2004 的回复:
你可以这样

<s:hidden name="personID" value="%{personID}"> </s:hidden>

或者这样

<s:hidden name="personID" value="%{'aaaaaaaaaaaaaaaabb'}"> </s:hidden>


他不是要赋新值么?
[/Quote]

上面不是两种赋值方法吗,或者直接
<input type="hidden" name="adsf" value="aaaaaaaaabb">
<input type="hidden" name="adsf" value="<s:property value="personID"/>">

IAM_YXQ 2008-06-25
  • 打赏
  • 举报
回复
楼主说:"我想把s:hidden value='赋新的值' 似乎不行... "是什么意思,你的<s:hidden/>的实际代码是怎么写的,可能是value属性值写错了,按照5楼的方法试试
TRMeister 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Landor2004 的回复:]
你可以这样

<s:hidden name="personID" value="%{personID}"> </s:hidden>

或者这样

<s:hidden name="personID" value="%{'aaaaaaaaaaaaaaaabb'}"> </s:hidden>
[/Quote]

他不是要赋新值么?
gxhsnowflower 2008-06-25
  • 打赏
  • 举报
回复
带<s:号的是struts2的标签库的吧,要确保用的是一个标签库的标签,如果想改变值在js中用document.form.hiddenname.value = '' ;var hiddenname = document.form.hiddenname.value;再将这个变量传到action中就行了把
加载更多回复(4)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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