javascript - 如何使用 Struts2 从 Apache Tomcat 服务器动态更新 div 文本内容

标签 javascript jquery html jsp struts2

我正在开发一个应用程序,用户可以在其中将文件上传到服务器,然后服务器处理文本文件。在处理过程中,我需要用服务器发送的一些文本来更新用户。

有什么方法可以在不重新加载页面的情况下动态更新div的文本内容

fpoAnalysis.jsp:

 <form action="Process" method="post" enctype="multipart/form-data" onsubmit="return validate()">
        <table align="center" style="width: 90%; margin: auto; outline: buttonshadow;">
            <tr>
                <td><label for="myFile" style="font: oblique; cue-after: inherit;">Upload All User Attributes File....</label></td>
                <h4 align="center" style="color: red;"> <s:actionerror /> </h4>
                <td><input type="file" name="file" required="true" accept=".csv" /></td>
            </tr>
            <tr>
                <td></td>
                <td><s:textfield id="month" name="month" type="number"label="Select Month:"></s:textfield></td>
                <td><s:textfield id="year" name="year" type="number" label="Select Year:"></s:textfield></td>
                <td>&nbsp</td>
        </table>
            <div id="sub" align="center">
                <s:submit type="submit" value="Process" align="center" />
            </div>  
    </form>

longRunningAction-wait.jsp:

<div class="container">
  <h2 align="center">Please Wait while we process your Data...</h2>
  <div class="progress" align="center">
    <div align="center" class="progress-bar progress-bar-striped active role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:40%">
      40%
    </div>
  </div>
  <div class="status">Status comes here!</div>
</div>

Action 类:

 public String execute(){
    destPath=request.getServletContext().getRealPath("")+"\\WEBINF\\Data";
            try{
                File destFile  = new File(destPath, fileFileName);
                FileUtils.copyFile(file,destFile);
                appPath=request.getServletContext().getRealPath("")+"\\WEB-INF\\Data";
                t=utils.LogUtils.generateData(4,2014,appPath,destFile.getAbsolutePath(),
                                                                                appPath);
            }catch(Exception ex){
                addActionMessage("User Attributes file is not valid!!");
                return "input";
            }
            return "success";
        }

struts.xml:

<action name="Process" class="fpoActions.Process" method="execute">
    <interceptor-ref name="defaultStack">
        <param name="fileUpload.maximumSize">150971520</param>
    </interceptor-ref>
    <interceptor-ref name="completeStack" />
    <interceptor-ref name="execAndWait" />
    <exception-mapping exception="java.lang.Exception" result="exception" />
    <result name="exception">exception.html</result>
    <result name="wait">WEB-INF/fpo/longRunningAction-wait.jsp</result>
    <result name="success">WEB-INF/fpo/DownloadFpo.jsp</result>
    <result name="input">WEB-INF/fpo/fpoAnalysis.jsp</result>
</action>

LogUtils.generateData 方法将一些数据写入数据库。我需要每 2 秒读取一次数据库并更新 longRunningAction-wait.jsp

中的状态 div

最佳答案

您可以使用 sj:div哪个 生成一个 HTML <div/>并使用 Ajax 调用加载其内容。

示例:

将内容加载到 div :

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <div id="div1">Div 1</div>
    <s:url var="ajaxTest" value="/AjaxTest.action"/>
    <sj:div href="%{ajaxTest}">Initial Content</sj:div>
  </body>
</html>

关于javascript - 如何使用 Struts2 从 Apache Tomcat 服务器动态更新 div 文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30473871/

相关文章:

javascript - 使用 jquery 在行和列的 Bootstrap 网格中动态添加图像?

javascript - 使用 JavaScript/Jquery 关闭 .aspx

javascript - 编译失败。 ReactJs

javascript - 脚本特定的 jQuery 别名

jQuery - 菜单滚动项效果示例 - 它叫什么?

javascript - 单击元素时在javascript中删除一个词

css - 当高度为 :auto 时,父 div 不出现

javascript - JQuery 手机 : stopPropagation() makes blank page flash on href click

javascript - 如何找到特定的 html 元素,AngularJS, Protractor

html - CSS 背景定位在 safari 和 firefox 中不同