通常,MVC框架都需要Web 应用加载核心控制器,而对于Struts2来说,需要加载的就是struts2的核心控制器"FilterDispatcher"。只要Web应用加载了 FilterDispatcher,FilterDispatcher将会加载应用的Struts2框架。
加载FilterDispatcher即在web.xml中配置FilterDispatcher,代码如下
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>test.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在通常的Struts2 FilterDispatcher配置中,可能没有代码中的蓝色部分——actionPackages参数的配置。actionPackages参数的设置就是为Struts2的所谓"零配置"服务的,param-value中的值代表一个包空间,如果有多个包,则以逗号隔开。
Struts2框架将会扫描这些包下面的Action类,来支持与Action匹配的逻辑名找到对应的Action。如一个action的实体类名为 TestAction,那么Test.action, Test(这种写法有点像servlet), test.action都可以找到TestAction(并不需要在struts.xml中配置)。
既然我们不在struts.xml中配置action,那么action的result又怎么指定呢,Struts2同样有自己的方法——在Action类中直接加上result注解(写在Action类的上方):
@Results({
@Result(name="test1", type=NullResult.class, value = "/test1.jsp", params = {}),
@Result(name="test2", type=NullResult.class, value = "/test2.jsp", params = {})
})
那么,如果我们同时配置了struts.xml,结果将会如何呢,逻辑名到底是使用"零配置"和注解result,还是使用struts.xml的配置呢。
同样是上面的例子,如果我们在struts.xml同时配合了逻辑名Test,那么使用Test.action,将会使用struts.xml中的配置。 看起来xml的配置可以覆盖"零配置",这样很方便不是吗?但是这小瞧了Struts2"无敌的"匹配功能,当我们使用小写test配置 struts.xml时,test.action将会使用"零配置"而不是struts.xml,崩溃。。。
但是在struts2.16中 改为
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此时actionPackages 都不要配置,好象会自动搜索 action,actions,struts,struts2等目录。SSH3时代。
分享到:
相关推荐
配置Struts配置Struts配置Struts配置Struts配置Struts配置Struts
struts配置
struts配置 struts1 struts2 java mvc 配置 总结了struts1和struts2的配置文件,包括spring mvc配置,.xml和.propertity文件
struts配置文件,用于创建springmvc与struts工程的配置文件,集合加数组获得后台的空间空间空间 空间 空间空了
Struts配置文件详解 web.xml、struts-cofig.xml以及struts-cofig.xml中各个标签的作用。 Struts应用采用两个基于XML的配置文件来配置,分别是web.xml和struts-cofig.xml文件.web.xml文件是配置所有web应用的,而...
详细讲解了Struts如何配置,适合刚刚接触Struts的开发者来配置环境
Struts配置文件详解 Struts配置文件详解
关于struts2等需要的配置文件 struts配置的文件 连接池 mysql等配置文件
包括struts配置和标签库详解,以及常用的几个标签库文件,struts-html.tld,struts-bean.tld,struts-logic.tld,struts-nested.tld
struts-config.xml拆分,超级简单
myeclipse和struts配置使用
Struts配置文件详解
多个struts配置文件使用,如何配置??
struts配置文件 struts-config.xml和tiles-definition.xml
struts配置文件学习,如何配置struts在mvc
其中包括: Struts In Action中文版.pdf Struts 配置骨架.xml Struts 配置元素.doc web_xml中ActionServlet中的属性.doc