简单案例:
简单的使用struts来做controller层,我们在http://struts.apache.org/下载了struts之后,解压即可看到相关的src(源代码)、lib(相关的jar包)、document(文档)、apps(简单案例)。
第一步:
建立web项目,这个就不详解了,然后就是导入需要的jar包,lib下那么多,不知道哪些是必要的,不要紧,我们直接在apps目录下用压缩软件解压一个.war拷贝其中的lib就ok
第二步:配置web.xml
我们需要在web.xml中配置struts的filter,用来拦截url请求,好让struts来处理这些url请求。简单的配置我们也参考apps下一个案例,最基本配置如下
<filter>
<filter-name>struts2</fitler-name>
<filter-class>org.apache.struts2.dispathcer.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置如上,其中<filter> 和<filter-maaping>中的<filter-name>需要对应起来。至于<url-pattern>的配置规则,下次再说。
第三步:从apps下找到一个叫做struts.xml的文件,拷贝到自己项目的src下,这样就可以开发自己的action了。
今天想记录的
当项目比较多,业务需要,我们的struts.xml里的action太多,这个时候我们可以根据业务之类把struts.xml拆分成几个xml。问题是如何让struts识别这些已经拆分的xml呢?
第一步:完成你的各种拆分的xml。
第二步:配置这些xml
我们可以将这些xml手动配置,这样就可以被struts知道了。修改web.xml如下:
<filter>
<filter-name>struts2</fitler-name>
<filter-class>org.apache.struts2.dispathcer.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,../conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
其中飘红的就是配置这些xml了。其中需要配置struts-default.xml这个xml基本就规定了struts.xml的一些属性,如果还用到了其他的功能,比如用到了ajax需要支持json格式,导入了相关的struts-json-plugin.jar则导入该包下的struts-plugin.xml,最后是自己的放action的struts.xml。在这个xml里我们又可以引用拆分的其他xml,ps一下,这个路径其实是以编译之后的.class目录为参照。所以这里写成了“../confstruts.xml”。
第三步:再看struts.xml如何引用其他拆分的xml
<include file="**/**/aaa.xml">
<include file="**/**/bbb.xml">
<include file="**/**/ccc.xml">
在struts.xml中添加如上即可。
这个时候我们就可以自用的飞翔我们的struts配置了。