`
舟舟同学
  • 浏览: 45435 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

struts2开发11--提交后自动显示等待界面

阅读更多

有时候当我们从前台提交大量的数据到服务器时,由于服务器处理的时间较长,这个时候我们在浏览器中看到的是一片空白,不知道后台程序是否成功执行了,这个时候就设置一个友好的信息交互界面(比如在界面上提示系统正在处理等信息)来提示用户。

(1) 在struts2中,实现该功能的是使用execAndWait拦截器,它的具体实现过程如下:

1、当表单提交请求到来时,execAndWait拦截器将创建一个新的线程来执行Action,然后返回一个等待页面给用户,让用户知道请求正在处理中。

2、等待页面将包含自动刷新功能,等待界面每隔几秒就通知浏览器,向初始请求的URL再次发送请求。

3、execAndWait拦截器将再次拦截请求,判断Action是否执行完成,如果仍未执行完成,则继续返回等待界面给用户,如果已经执行完成,则向用户返回相应的执行成功界面。

(2) execAndWait拦截器的参数

1、threaPriority    可选参数,用来指定线程的优先级,默认值为Thread.NORM_PRIORITY。

2、delay    可选参数,指定显示,等待页面前,初始等待的延迟时间,以ms为单位。

3、delaySleepInterval 可选参数,只能和dalay参数一起使用,用来指定检查后台进程是否执行完毕的时间间隔,以ms为单位。

(3)execAndWait在struts.xml文件中的配置如下:

<action name="Exception" class="cn.test.action.ExceptionTestAction" method="execute">
        <interceptor-ref name="defaultStack"></interceptor-ref>
        <interceptor-ref name="execAndWait"></interceptor-ref>
            <result name="success">/WEB-INF/jsp/Esuccess.jsp</result>
             <result name="wait">/WEB-INF/jsp/wait.jsp</result>
        </action>

提示等待wait.jsp代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s"  uri="/struts-tags" %>
<html>
<head>
<meta http-equiv="refresh" content="5">
</head>
<body>
正在处理中.....
</body>
</html>

运行程序,5秒后将执行页面刷新操作,如果发现Action已经完成操作,则返回success指向的视图Esuccess.jsp,如果发现Action没有完成相应的操作,则会再次请求wait.jsp页面。

如果设置delay参数

 <interceptor-ref name="execAndWait">

<param name="delay">1000</param >

</interceptor-ref>

表示在提交表单后,1000ms内不论Action是否处理完成,都不会显示等待页面。在1000ms之后,如果Action能够处理完请求,则根据Action的返回结果显示相应的视图,否则,继续显示等待wait.jsp界面。

 

 

 

1
3
分享到:
评论
1 楼 bewithme 2016-04-27  
放弃strtus吧小兄弟

相关推荐

    Struts2 in action中文版

    15.4 自动显示等待页面 316 15.5 完成CRUD操作的一个动作 317 15.5.1 CRUD 317 15.5.2 拦截器和接口 318 15.5.3 连接各部分 323 15.6 Tiles和Struts 2 325 15.6.1 关注网站的界面外观 325 15.6.2 配置相互关系 326 ...

    Struts2的ajax支持

    然而,Struts2结合Ajax实现了基于服务器端的异步校验,即在用户输入的过程中或完成后,通过Ajax异步请求将数据发送至服务器进行校验,无需等待页面刷新即可得到反馈。这大大提升了用户体验,同时也减轻了服务器的...

    Struts2+uploadify上传文件

    当用户通过表单提交带有`enctype="multipart/form-data"`的文件时,Struts2会自动处理这些请求,并将文件内容转换为Java对象。你需要在Action类中创建对应的属性来接收文件,并设置相应的注解,例如`@FileUpload(...

    struts2+spring+hibernate+ajax纳税服务.rar

    Struts2、Spring和Hibernate是Java企业级开发中常用的三个框架,它们构成了SSH(Struts2、Spring、Hibernate)框架体系,广泛应用于构建MVC(Model-View-Controller)架构的Web应用程序。Ajax(Asynchronous ...

    struts1.2+ajax在线考试系统

    在在线考试系统中,Ajax可以用于实时检查用户输入的正确性,如自动验证选择题答案,或者在用户提交答案后立即显示部分批改结果,而无需等待服务器的完整响应。 3. **JSP(JavaServer Pages)**:JSP是Java Web开发...

    struts2+hibernate+spring+ajax做的OA办公自动化系统

    在HYOA系统中,Ajax可能被用在各种交互场景,如异步提交表单、实时加载数据或者动态更新界面元素。这使得用户可以无感知地等待后台处理,提高了系统的响应速度和交互性。 5. **SQLSERVER2000**:作为数据库管理系统...

    struts-default中拦截器介绍.pdf

    2. `autowiring` 拦截器:当Struts 2与Spring框架集成时,该拦截器能够自动装配Spring容器中的Bean,使得Struts 2的Action可以直接使用Spring管理的Bean。 3. `chain` 拦截器:它构建了一个Action链,使得当前...

    DWR与界面开发.rar

    在实际界面开发中,DWR可以帮助创建更动态、响应更快的用户界面,比如实时数据更新、无刷新表单提交、拖放功能等。通过学习这些资料,开发者可以掌握如何利用DWR提升Web应用的交互性和用户体验。同时,了解如何正确...

    ssh框架,strues2 异步

    SSH框架,全称为Spring、Struts2和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个项目是基于SSH构建的,重点在于Struts2的使用,特别是其标签库和异步处理功能。 首先,Spring框架是依赖注入...

    Ajax技术在办公自动化系统中的应用.pdf

    - 传统Web应用采用“提交请求—页面等待—页面重载”的同步机制,而Ajax则采用异步交互,减少了不必要的页面刷新,提升了交互效率。 6. **Ajax应用实例** - 在办公自动化系统中,Ajax可以用于实时更新任务列表、...

    ajaxtags-1.5.1-bin

    - **表单验证**:使用AJAX Tags,可以在用户填写表单时即时验证输入,无需等待表单提交后才显示错误。 - **数据分页**:在浏览大量数据时,通过AJAX Tags实现无刷新的分页加载,提升用户体验。 - **实时反馈**:例如...

    ext s2sh整合实例 增删改查

    在CRUD操作中,Ajax可以实现无刷新的数据提交和获取,使得用户在进行增删改查时无需等待整个页面的重新加载。 综上所述,"ext s2sh整合实例 增删改查"是一个综合性的Web开发项目,展示了如何利用EXTJS构建交互式...

    前端用bootstrap框架+ajax异步请求,后台用SSH框架搭建的简单在线考试系统。-OnLineTest.zip

    Ajax技术则被用来实现页面无刷新的交互体验,比如考生在答题时,可以实时检查答案的正确性,或者在提交试卷后立即查看分数,无需等待整个页面刷新。 **二、Ajax异步请求** Ajax(Asynchronous JavaScript and XML...

    springMVC+Extjs

    文档中还给出了几个界面的截图,包括登录等待窗口、用户信息录入界面、角色录入界面以及用户查询页面等。 这些界面通常是由 ExtJS 构建的前端页面,通过 Ajax 技术与后端的 Spring MVC 控制器进行交互。例如,在...

    java面试问题汇总(非常全面)

    Struts 标签库提供了一系列用于简化页面开发的标签,例如 `&lt;s:textfield&gt;`、`&lt;s:submit&gt;` 等,可以直接在 JSP 页面中使用。 #### 28. Struts抛出form是怎么把数据读出来的? 使用 `ActionForm` 对象接收表单数据。...

    网络考试系统.rar

    当用户在考试中选择答案或提交表单时,可以通过异步调用后台服务,获取实时反馈,而无需等待整个页面刷新。这不仅提高了响应速度,也优化了用户体验。Ajax通常结合JavaScript库如jQuery来简化前端开发,通过...

    东南融通面试题 内部

    2. **Struts框架的特点:** - MVC设计模式,将模型、视图和控制器分离。 - 支持国际化、文件上传下载等功能。 - 社区活跃,有大量的插件和扩展。 3. **RIA技术概述:** - RIA(Rich Internet Applications)指...

    文思创新试题. 杭州公司

    - View代表用户界面,负责显示数据。 - Controller负责接收用户的输入并调用相应的模型和视图完成用户的需求。 使用MVC模式的好处包括: - 分离关注点,提高代码的可读性和可维护性。 - 便于团队协作,不同的开发...

    ESS-Time-Attendance:该参议院员工自助服务(ESS)Web应用程序为参议院员工提供了一个直观的界面来输入其时间记录并查看其时间应计费用,并为主管人员提供一个查看和批准时间记录的界面。

    在开发Web应用时,Java通常与Java Servlets、JavaServer Pages (JSP) 和Java EE框架(如Spring或Struts)一起使用,以构建动态和高效的应用程序。由于Java的安全性和稳定性,它是开发企业级应用的首选语言,尤其适合...

    成长在线考试网

    5. 成绩显示:考试结束后,系统自动评分,考生可以查看成绩及解析。 6. 错题记录:系统可能记录考生的错题,便于他们针对性复习。 7. 数据统计:管理员可以查看考试的整体情况,如平均分、及格率等。 为了实现以上...

Global site tag (gtag.js) - Google Analytics