struts2提交表单并在新窗口中显示结果

struts2提交表单并在新窗口中显示结果,struts2,window,show,Struts2,Window,Show,struts.xml <action name="run" class="editTrackerAction" method="run"> <result name="input">/jsp/editTracker.jsp</result> </action> } 在editTracker.jsp页面中,我需要单击submit按钮来显示在jsp/Thankyu.jsp页面中定义的结果变量。在一个新窗口中,editTrack

struts.xml

<action name="run" class="editTrackerAction" method="run">
        <result name="input">/jsp/editTracker.jsp</result>
    </action>
}


在editTracker.jsp页面中,我需要单击submit按钮来显示在jsp/Thankyu.jsp页面中定义的结果变量。在一个新窗口中,editTracker.jsp页面在按struts.xml配置提交表单之后仍然停留在那里,但我无法在jsp/Thankyu.jsp中获得结果,因为它是在saveTracker表单提交之前弹出的

您最好通过ajax提交表单,然后打开新窗口


如果您提交了一份带有普通请求的表单,页面将更新;这就是它的工作方式。如果您的意思是表单提交再次重新加载同一页面,那没关系,但在新窗口打开之前,您仍然需要与服务器交互。

尝试使用类似于下面的表单,并使用以下javascript函数

<form name="myForm" action="myaction.do" method="post" 
              onsubmit="return createTarget(this.target)" target="formtarget">
我也为新窗口做了一些格式化

问候

function executeEntityOnTable() {

    document.saveTracker.action="run"; 
document.saveTracker.onsubmit=window.open('jsp/thankyou.jsp', 'executeEntityOnTable', 'width=450,height=300,status=yes,resizable=yes,scrollbars=yes');
document.saveTracker.submit();
<form name="myForm" action="myaction.do" method="post" 
              onsubmit="return createTarget(this.target)" target="formtarget">
function createTarget(t){

           var left = (screen.width/2)-(700/2);
        var top = (screen.height/2)-(550/2);
        window.open("", t,"status = 1,height = 550,width = 700,resizable = 1,left="+left+",top="+top); 

            return true;
        }