Action类无法从jsp中获取更改的值

时间:2013-10-24 21:30:56

标签: java javascript jquery struts2 struts

我在jsp中隐藏了字段

<s:hidden id = "selectedCombo" name="selectedCombo" value=""/>
<s:hidden id = "xyz" name="xyz" value="2"/>

我需要在将其提交给行动之前进行更改,因此我编写了如下脚本代码

var e = document.getElementById("somecombo");
var app = e.options[e.selectedIndex].value; 

var combo = document.getElementById("selectedCombo");
combo.value = app;
alert(combo.value);

var e = document.getElementById("rolesForm");
e.submit();

此时,“selectedCombo”的值已更改,并在alert中提供更新值。

问题:

  • 但我没有在我的动作类中获得“selectedCombo”隐藏字段的更新值。我正在使用struts 2所以我试图通过OGNL获取值。

  • 我在我的动作类中成功获得“xyz”的值,因为它的值是静态的。但不使用“selectedCombo”!!

OGNL无法存储更改后的值吗?

帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

这不是OGNL的问题。

您没有为隐藏字段selectedCombo设置值,而是将值设置为JavaScript本地变量combo

var combo = document.getElementById("selectedCombo");
combo.value = app; 
 ↑  

现在,combo变量的值由app指定。

您需要将代码更改为

document.getElementById("selectedCombo").value = app; //now this will set the value