how can i pass value from javascript to a java class in struts2? 这是类似于我想要的链接。但是它对我不起作用。 我尝试过这样的事情。 隐藏在jsp中的Struts标记是
function redirect(id)
{
window.alert("Hello"+id);
document.getElementById('param_ID').value=id;
document.forms["./ListAlgorithmAction"].submit();
}
在我的动作类中,我已经为param_ID声明了getter和setter。但是它返回null。
请帮助。 谢谢。
答案 0 :(得分:0)
你应该这样使用
<s:hidden id = "param_ID" name="xyz" />
现在你应该在struts动作中为xyz属性设置一个getter和setter。
您应该始终在Struts操作中映射到属性的标记中具有name属性。
希望这有效。
答案 1 :(得分:0)
如果页面未提交您的hidden
字段,则隐藏字段可能不在您的表单元素中。您可以尝试将其作为参数传递给您的网址。试试这个
function redirect(id)
{
var form = document.forms[0];
var url = './ListAlgorithmAction?param_ID=' + id;
form.action = url;
form.submit();
}
让我知道这是否有效。
答案 2 :(得分:0)
如果你想调用一个动作并返回数据,你应该使用struts2-json插件JQuery脚本来调用动作
var abc = $("#abc").val();
$.getJSON('youraction.action', {
variable -name action class : abc,
value to be passed:value,
//and so on
}, function(data) {
//your processing code
}
});
return false;
});
如果您只想调用操作,可能需要使用$ .ajax代替$ .getJson
如果你想使用struts 2-json那么你还需要更改你的struts.xml,即
<result name="success" type="json"></result>
值得一试
答案 3 :(得分:0)
我遇到了类似的问题并通过在JavaScript函数中附加Action类并附加URL参数来解决它,如下所示:
<a href="(<%actionClassName%>.action?<%URLParms%>" />