我在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无法存储更改后的值吗?
帮助表示感谢。
答案 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