服务器内部转发forward,action到action

如果request.getRequestDispatcher();中不是页面而是传action的话,参考以下内容修改:

web.xml 2.4版本里,默认的filter只拦截request。 如果使用request.getRequestDispatcher("xx.action").forward(request,response),属于服务器内部forward,不会被过滤器过滤,所以需要为struts2的filter配置拦截forward才行。

D代码  

  1. <Filter>
  2. <Filter-Name>Struts2</Filter-Name>
  3. <Filter-Class>Org.Apache.Struts2.Dispatcher.Filterdispatcher</Filter-Class>
  4. </Filter>
  5. <Filter-Mapping>
  6. <Filter-Name>Struts2</Filter-Name>
  7. <Url-Pattern>*.Action</Url-Pattern>
  8. <Dispatcher>REQUEST</Dispatcher>
  9. <Dispatcher>FORWORD</Dispatcher>
  10. </Filter-Mapping>

这样就可以实现通过action转发到另一个action

时间: 2024-11-05 13:26:39

服务器内部转发forward,action到action的相关文章

Struts2中&lt;jsp:forward page=&quot;xxx.action&quot;&gt;&lt;/jsp:forward&gt;失效

问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知道是Struts2中不支持还是需要其他的配置. 原因:因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化 解决办法1.配置web.xml 解决 [html] view plaincopyprint? <filter-mapping> <filter-name>s

struts2中action向action之间传数据和action向jsp传数据理解

1,在 Action中我们经常会从这个Action跳转到另一个Action中,这时我们就要用到redirect.redirect-action.chain, 其中redirect和redirect-action是重定向,相当于浏览器二次请求,之前的数据都会丢失,所有的参数.值栈和请求属性都会丢失.chain是服务器转发action,源Action的用户请求参数.值栈.session的数据赋值给目的Action,即在目的action中可以获得源action得到的请求参数值栈,session等数据.

No result defined for action com.action.Actionxxx and result xxx

报错:No result defined for action com.action.Actionxxx and result xxx 刚学Struts2不久,写的第一个Action就遇到这个问题,有两个原因: 1.Action类类名命名不能使用数字,如:Action1,服务器启动不报错,但访问Action1并运行其方法时,无法找到配置好的Result,即在映射过程中会丢失return的值.(注意:Action类类名命名不能使用Action,以免和框架中的特殊词混淆而导致服务器启动过程中报错)

C#委托Action、Action&lt;T&gt;、Func&lt;T&gt;、Predicate&lt;T&gt;

CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范. 一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate void Action(); 用法如下: 1 public void Alert() 2 { 3 Console.Write

HTTP Status 404 - There is no Action mapped for namespace [/] and action name [Action!Method]错误解决

按照书本上的Struts2的例子,运行会出现错误: HTTP Status 404 - There is no Action mapped for namespace [/] and action name [sayHelloAction!sayStruts2] ... 貌似在struts.xml中配置action的method不会出错,而直接在jsp中写“Action!Method.action”就会报错. 搜索许久没有发现解决办法,后来发现第二种写法叫做“DMI”,会产生安全隐患,在stru

&lt;s:form action=&quot;login&quot;...与&lt;s:form action = &quot;login.action&quot;.的区别

1.<s:form action="login" namespace="/login"> 它表示的是<form id="login" name="login" action="/Action/login/login.action" method="post"> 因为它使用了struts标签,后面会自动加.action,而且namespace会起作用 2.<s

Action、Action&lt;T&gt;、Func&lt;T&gt;、Predicate&lt;T&gt;

.net4.0新出了几个委托Action. Action<T>.Func<T>.Predicate<T>,其本质上都是delegate关键字来声明的,待会下面原型大家可以看到,以前我们一般使用delegate关键字来使用委托,但是如果我们的.net为4.0或者以上版本的时候,我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范,显得比较有档次,哈哈. 1.Action  场景:委托的方法没有参数也没有返回值

[转]C#委托Action、Action&lt;T&gt;、Func&lt;T&gt;、Predicate&lt;T&gt;

CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范. 一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate void Action(); 用法如下: 复制代码 1  public void Alert() 2  { 3     Co

struts2 action重定向action

一共有三种方式redirect,redirect-action,chain 区别如下 1 redirect:action处理完后重定向到一个视图资源(如:jsp页面),请求参数全部丢失,action处理结果也全部丢失. 2 redirect-action:action处理完后重定向到一个action,请求参数全部丢失,action处理结果也全部丢失. 3 chain:action处理完后转发到一个action,请求参数全部丢失,action处理结果不会丢失. 今天碰到的bug显示提示另一个act