支柱2用动作确认框

struts2 confirm box with action

本文关键字:确认 支柱      更新时间:2023-09-26

当我在确认框中单击"确定"时,我正试图调用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:一个标记&点击s:我们正在调用一个java脚本函数的链接,该函数将打开一个确认框&如果按"确定",则返回true;将调用操作。如果你按取消,它将返回false&不会调用操作。希望这对你有帮助。

要使代码能够使用Struts标签:

window.location.href = "<s:property value='%{#urlTag}' />";

$.ajax( {  
       type: "POST",        
        url: "<s:property value='%{#urlTag}' />",  

也就是说,我并不是说这就是你需要的。你确定你需要做什么吗?明白吗?帖子?AJAX调用,什么?