浏览 479 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (12) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-06-17
<package name="base-package" extends="struts-default">
<interceptors>
<interceptor name="ajaxInterceptor" class="interceptors.AjaxInterceptor"></interceptor>
<interceptor-stack name="defaultStack">
...
<interceptor-ref name="ajaxInterceptor" />
...
</interceptor-stack>
</interceptors>
</package>
如上配置在使用annotation配置的时候,不会执行ajaxInterceptor拦截器,struts一直在使用自己默认的defaultStack,但是也不报有stack重名的错误,折腾了半天,发现需要改名将defaultStack改成别的名字,然后再设置一下default-interceptor-ref就行了,也不知道是bug还是我没有掌握精髓。 具体解释见: http://hi.baidu.com/chinastruts/blog/item/6e123111ef2dc2c3a6ef3ffc.html 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-17
没有设置default的parentPackage
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-18
downpour能再说详细点儿吗?谢谢了
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-18
google: struts2 default parent package
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-06
我是这样配置的,Struts2会默认执行这个堆栈里的拦截器.为什么还不能执行@before这个方法
为什么不能打印 before....,仅仅只有test....这符 (1)我在web.xml中添加actionPackages的配置 (2)struts.xml <struts> <constant name="struts.action.extension" value="do" /> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="false" /> <include file="struts-default.xml" /> </struts> (2)struts-default.xml <struts> <package name="base-package" extends="struts-default"> <interceptors> <interceptor name="prepare" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor" /> <interceptor-stack name="dStack"> <interceptor-ref name="prepare" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="dStack" /> </package> </struts> (3)AaronAction.java
@ParentPackage("base-package")
public class AaronAction extends ActionSupport{
private static final long serialVersionUID = 1L;
@Before
public void before(){
System.out.println("before....");
}
public String execute(){
System.out.println("test");
return null;
}
}
|
|
| 返回顶楼 | |



