Struts2
基本配置
创建struts.xml文件(通过拷贝)
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default" abstract="false">
<action name="list" class="org.itfuture.www.action.PersonAction" method="list">
<result name="list">/WEB-INF/views/list.jsp</result>
</action>
</package>
</struts>
在web.xml中进行加载配置
<filter>
<filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注:struts2不同版本的核心控制器是不同的,如2.0版本的核心控制器为org.apache.struts2.dispatcher.FilterDispatcher;而2.1之后的版本普遍采org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
Action
<action name="list" class="org.itfuture.www.action.PersonAction" method="list">
<result name="list">/WEB-INF/views/list.jsp</result>
</action>
注:如果没有为action指定class属性,默认的是ActionSupport类。(源码观察)如果没有为action指定method属性,默认的执行Action类中的execute()方法。如果没有为action中的result指定name属性,默认为success。如果没有指定result中的type属性,默认的是dispatcher(转发至非action的资源地址)
通配
在配置action时候会产生过多的action来完成相应的方法,此时可以使用通配方式来实现减少冗余。
<action name="user_*" class="org.itfuture.www.action.UserAction" method="{1}">
<result name="list">/WEB-INF/list.jsp</result>
</action>
多文件配置(不推荐使用)
配置多个文件时,可以在struts.xml中使用标签来
<include file="struts-system.xml"/>
请求参数的获取
方式一:在action类中定义属性及set、get方法来获取
方式二:在action类中定义javaBean对象并实现set、get方法。通过对象获取
方式三:action类实现ModelDriven接口并改写getModel()方法
publicclass UserAction implements ModelDriven<User> {
private User user=new User()
public User getModel() {
return user;
}
}
全局转发
<package name="public" extends="struts-default">
<global-results>
<result name="message">/common/message.jsp</result>
</global-results>
</package>