struts2的配置总结
1.导入相关的包
commons-logging-*.jar commons项目的log日志包
freemarker-*.jar 前台页面模板
ognl-*.jar struts2处理前台页面的核心语言,是一种动态图导航语言
struts2-core-*.jar struts2的核心包
xwork-core-*.jar webwork的核心包
commons-fileupload-*.jar 支持文件上传的jar包
2.配置web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 <welcome-file-list> 8 <welcome-file>index.jsp</welcome-file> 9 </welcome-file-list> 10 11 <filter> 12 <filter-name>struts2</filter-name> 13 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 14 </filter> 15 <filter-mapping> 16 <filter-name>struts2</filter-name> 17 <url-pattern>/*</url-pattern> 18 </filter-mapping> 19 </web-app>
3.配置struts2.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4 "http://struts.apache.org/dtds/struts-2.0.dtd"> 5 6 <struts> 7 <constant name="struts.multipart.maxSize" value="4096000"/> 8 <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 9 <constant name="struts.devMode" value="false" /> 10 <constant name="struts.custom.i18n.resources" value="app"></constant> 11 12 <package name="default" namespace="/" extends="struts-default"> 13 <action name="index"> 14 <result type="redirectAction"> 15 <param name="actionName">HelloWorld</param> 16 <param name="namespace">/example</param> 17 </result> 18 </action> 19 <action name="input" class="wzs.LoginAction" method="input"> 20 <result name="input">/login_input.jsp</result> 21 </action> 22 <action name="login" class="wzs.LoginAction" method="login"> 23 <result>/login_login.jsp</result> 24 </action> 25 <action name="error"> 26 <result name="error">/error.jsp</result> 27 </action> 28 <action name="upload" class="wzs.UploadAction"> 29 <result name="success">/upload.jsp</result> 30 <interceptor-ref name="fileUpload"> 31 <param name="maximumSize">4096000</param> 32 </interceptor-ref> 33 <result name="input">/upload.jsp</result> 34 </action> 35 </package> 36 </struts>
3.1配置常量:
例子:<constant name="struts.i18n.encoding" value="UTF-8">
3.2配置package:
package有3个常用属性:
name:用来标识该package,当有多个package时,可以与其他package区分开。
extends:通常配置为 extends="struts-default"
namespace:命名空间,默认值为""
3.3配置action:
name、class、method三个属性不用讲了。
3.4配置result:
name:匹配action的method返回的结果
type:常用的有以下几个
dispatcher 默认值,服务器端跳转,类似jsp的forward
redirect 客户端跳转,类似jsp的redirect
chain forward到一个action
redirectAction 重定向到一个action
3.5配置param:
param用来为其他标签提供参数。
name: 参数名
value: 参数值
id: 可选属性,指定该元素引用id