Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java struts2:在主/调用jsp中显示结果jsp_Java_Javascript_Ajax_Struts2 - Fatal编程技术网

Java struts2:在主/调用jsp中显示结果jsp

Java struts2:在主/调用jsp中显示结果jsp,java,javascript,ajax,struts2,Java,Javascript,Ajax,Struts2,我有一个主jsp(文件上传jsp屏幕),它有表单元素。 用户将选择要上传的文件,并根据需要设置一些其他元素(如复选框、收音机等),然后最终提交表单 上传后,流程的结果被组织到不同JSP的表中(比如result.JSP)。现在result.jsp在屏幕上独立显示 我想要的是在同一父.jsp中显示result.jsp(具有表单元素),而不是在单独的页面上 有人能帮我吗 struts.xml: <action name="commonDataImportAction_*" class="comm

我有一个
主jsp
(文件上传jsp屏幕),它有表单元素。 用户将选择要上传的文件,并根据需要设置一些其他元素(如复选框、收音机等),然后最终提交表单

上传后,流程的结果被组织到不同JSP的表中(比如
result.JSP
)。现在result.jsp在屏幕上独立显示

我想要的是在同一父.jsp中显示result.jsp(具有表单元素),而不是在单独的页面上

有人能帮我吗

struts.xml:

<action name="commonDataImportAction_*" class="commonDataImportAction">
        <result name="VIEW">
            /jsp/CommonDataImportLog.jsp (result.jsp)
        </result>
        <result name="input">/jsp/CommonDataImport.jsp (parent.jsp)
        </result>
</action>

如果您以简单的方式提交页面,Struts2 submit按钮的工作方式不止一个简单的解决方案是只创建一个页面,其中也包含
result.jsp
的布局,但您可以先隐藏该部分(在页面提交之前)

在成功提交页面时,您可以在action类中设置一个值(比如布尔值),并在此基础上显示该部分,因为您已经完成了文件上载,因此您可以在action类中设置在
result.jsp
中显示值所需的值

对我来说,这是一个简单而有效的方法

或者,如果您打算使用基于Ajax的文件上载,那么有很多类似的方法

  • 从操作返回HTML节
  • 您甚至可以发送JSP文件的名称,并在运行时将其包含到当前JSP中
  • 从action发送JSON数据,并使用Jquery解析JSON以构建视图

  • 我发现你必须将它重定向到同一个页面(parent.jsp)。 您必须删除另一个

    并在parent.jsp中进行一些更改。比如迭代器标记的使用以及所有有用的东西
    用于显示所有数据。

    如果愿意,可以将图像上载到其他站点(如)。与此问题相关,当您在问题中添加
    ajax
    javascript
    标记时,是否希望将操作的结果与ajax放在同一个jsp中?iframe解决方案如何?@anu:是的,也可以这样做,在我看来,有这么多的选择可供选择,这最终取决于我们更喜欢哪一个。我知道有多种方法可以做到这一点。我第一次尝试用ajax(无页面刷新)来实现它,但后来它没有按照预期工作,结果我浪费了很多时间。因此,我决定使用简单的struts2上传。我将
    result.jsp
    包含在
    parent.jsp
    中,并根据标志值显示它。