2 malie1981 malie1981 于 2016.04.13 16:30 提问

一个struts后台应用场景处理的问题?

前端有个超链接,如果连续多次点击比如双击时会发起多次action请求,而后台的action要求只接受第一次的处理,其他都要忽略,当然这个用前端控制点击也是可以的,但是我想在后台控制应用请求的处理发现很难实现。action中会在第一次请求的时候返回success,而其后的请求都返回error,但是error的返回struts的配置文件怎么写?因为我只希望返回成功请求的那个跳转页面,其他请求最好什么都不处理,但是似乎请求都必须要有返回,就算配置文件的返回里什么都不写也会出现页面的404。另外的一个问题是为了判断是否是第一次请求会在每次请求时去查询数据库是否有插入数据,因为第一次请求是没有数据的而后面就会有了以此来判断返回的方式,同时对数据库的操作都加了锁防止数据不同步。而返回success的请求会redirect到另外一个action中执行代码,但是发现触发这个redirect的执行是不确定的,感觉就像是后面返回的error处理覆盖了前面的redirect跳转,然后在redirect跳转的类代码执行完后还会redirect到另外一个类中执行,完了之后才会返回页面,但是第二次的redirect无论第一次是否有出发都不会执行。给我的感觉就像是后面的请求的结果会使得第一次返回结果的执行中断,因为页面最终显示的是那个返回错误的页面。有没有了解struts内部机制的大神能解释一下是什么原因?另外如果我要实现我这个需求后台应该怎么实现?

2个回答

CSDNXIAON
CSDNXIAON   2016.04.13 17:54

反射的一个应用场景
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

xyrmgzt
xyrmgzt   2016.10.08 01:54

struts
前端有个超链接,如果连续多次点击比如双击时会发起多次action请求,而后台的action要求只接受第一次的处理,其他都要忽略,当然这个用前端控制点击也是可以的,但是我想在后台控制应用请求的处理发现很难实现。action中会在第一次请求的时候返回success,而其后的请求都返回error,但是error的返回struts的配置文件怎么写?因为我只希望返回成功请求的那个跳转页面,其他请求最好什么都不处理,但是似乎请求都必须要有返回,就算配置文件的返回里什么都不写也会出现页面的404。另外的一个问题是为了判断是否是第一次请求会在每次请求时去查询数据库是否有插入数据,因为第一次请求是没有数据的而后面就会有了以此来判断返回的方式,同时对数据库的操作都加了锁防止数据不同步。而返回success的请求会redirect到另外一个action中执行代码,但是发现触发这个redirect的执行是不确定的,感觉就像是后面返回的error处理覆盖了前面的redirect跳转,然后在redirect跳转的类代码执行完后还会redirect到另外一个类中执行,完了之后才会返回页面,但是第二次的redirect无论第一次是否有出发都不会执行。给我的感觉就像是后面的请求的结果会使得第一次返回结果的执行中断,因为页面最终显示的是那个

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java发送url请求进行文件的提交以及后台struts2的action接收处理
java发送url请求进行文件的提交以及后台struts2的action接收处理 1、java模拟表单方式发送url请求进行文件的提交 [java] view plaincopy /**   *    * @作者 王建明   * @创建日期 2013-06-27   * @创建时间 19:28:18   * @描述 —— 模拟表单
运用struts2 进行html代码从后台到前台页面的转义显示
运用struts2   html代码从后台到前台页面的转义显示 struts2 自带的标签可以实现此功能: escape='0' value="descr" />
Struts2后台校验两种方式
数据效验 1)数据效验2种方式 前台校验  也称之为客户端校验,主要是通过JavaScript编程的方式进行表单数据的验证。   特点:数据效验在客户端浏览器完成,效率高!不安全! 后台校验        也称之为服务器端校验,这里指的是使用Struts2通过XML配置的方式进行表        单数据的验证。 通过java代码进行的效验!   特点
struts的日期处理(后台Date或者Timestamp)前台显示
<s:textfield name="user.birthday" > <s:param name="value"> <s:date name="user.birthday" format="yyyy-MM-dd"/> </s:param> </s:textfield>
在struts中处理AJAX请求
开始做struts项目时,使用ajax做一些简单的验证和取值都使用servlet,但是这样却破坏了struts的mvc的本来意图,但是使用struts框架由于其同步特性,在提交页面时会引起页面跳转,最近查了一些资料,如果在action返回时返回null,就可以避免页面跳转.这样,简单的应用都可以使用struts框架,而不用破坏其特性了.public class demo{public Action
Struts中从前台向后台action传数组的方法
有的时候,经常需要从前台表单向后台传输一个数组或者List,但是经过试验发现后台用List的set方法并不能很好的接收,如下面这个例子: $("#confirm").button().click(function(){ var selectedUseIds = new Array(); $('input[name=bidder_winner]:checked').each(fun
Struts2异常处理之在Action中捕获异常
Struts为我们提供了一套异常处理机制。通常的做法是在jsp页面中获取并输出异常信息。 但是,一些开发情景中,也会有这样一种情况,某Action抛出异常之后,并不想跳转到异常页面,而是想把这个异常信息传到另一个Action中来处理。下面就为大家介绍这两种异常处理方式。     首先,看下面这段配置文件代码。
struts2跳页面
1一种是直接跳页面,一种是经过action后跳页面 frame_menuManager /login.jsp /mobile mobile_indexForMobile ${language} /demo/mobile/login.jsp 2type=“redirect”直接跳页面。t
struts2利用拦截器解决重复提交问题
Struts 2已经内置了能够防止用户重复提交同一个HTML表单的功能。它的工作原理:让服务器生成一个唯一记,并在服务器和表单里各保存一份这个标记的副本。此后,在用户提交表单的时候,表单里的标记将随着其他请求参数一起发送到服务器,服务器将对他收到的标记和它留存的标记进行比较。如果两者匹配,这次提交的表单被认为是有的,服务器将对之做出必要的处理并重新设置一个新标记。随后,提交相同的表单就会失败,因为
关于struts2提交表单到后台
关于struts2提交表单到后台        第一种:适用于表单属性较少的操作环境