我在确认框中单击“确定”时尝试调用struts2操作。我有一个来自jsp的id,我想将它传递给动作。我尝试了几种方法却没有成功。
有一件事是使用href:
<s:url action="disable" var="urlTag">
<s:param name="id"><s:property value="id"/></s:param>
</s:url>
window.location.href="{urlTag}";
我也尝试过使用ajax
$.ajax( {
type: "POST",
url: "%{urlTag}", //will this declaration of action work?
dataType: "json",
contentType: "application/json; charset=utf-8",
data: "",
success: function() {
alert("success");
}
});
我是新手,我真的很想得到它。感谢您的任何帮助!
答案 0 :(得分:3)
您可以按照以下方式实现。
<s:url id="yourActionId" action="yourAction">
<s:param name="param1" value="param1Value"/>
<s:param name="param2" value="param2Value"/>
</s:url>
<s:a href="%{yourActionId}" onclick = "return confirmBox();"><b>Save</b></s:a>
&安培;你的javascript函数应该如下。
function confirmBox() {
var answer;
answer = window.confirm("Do you really want to perform this action");
if (answer == true) {
return true;
} else {
return false;
}
}
我们在这里做的是,在s:url标签中,我们已经给出了使用参数&amp;给它一个id。该id传递给s:a tag&amp;点击s:我们正在调用java脚本函数的链接,它将打开一个确认框&amp;如果按OK&amp ;,则返回true行动将被召唤。如果按取消,它将返回false&amp;动作不会被调用。希望这会对你有所帮助。
答案 1 :(得分:0)
使代码适用于Struts标记:
window.location.href = "<s:property value='%{#urlTag}' />";
和
$.ajax( {
type: "POST",
url: "<s:property value='%{#urlTag}' />",
那就是说,我不是说这就是你需要的。你确定你需要做什么吗? GET?邮寄?一个AJAX电话,什么?