当我在确认框中单击“确定”时,我尝试调用 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");
}
});
我对此很陌生,并且真的很想解决它。感谢您的任何帮助!
最佳答案
您可以通过以下方式实现它。
<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 标签中,我们给出了要使用参数执行的操作并为其指定了 id。该 id 被传递到 s:a 标签,单击 s:a 链接时,我们将调用一个 java 脚本函数,该函数将打开一个确认框,如果您按“确定”,则返回 true,并且将调用操作。如果您按取消,它将返回 false 并且不会调用操作。希望这会对您有所帮助。
关于java - struts2 带有操作的确认框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138631/