struts2用行动确认框

时间:2014-04-17 16:29:15

标签: java javascript ajax jsp struts2

我在确认框中单击“确定”时尝试调用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");    
            }  
       });  

我是新手,我真的很想得到它。感谢您的任何帮助!

2 个答案:

答案 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电话,什么?