struts2基础
struts2不是从strus1.X继承,而是从xwork继承而来。在使用struts中,尽量少用到struts的内容。
( 1 ):导入 strusts2 的基本 jar 包: struts2-core-2.2.3.1.jar xwork-core-2.2.3.1.jar
ognl-3.0.1.jar freemarker-2.3.16.jar commons-logging-1.1.1.jar commons-lang-2.5.jar commons-io-2.0.1.jar commons-fileupload-1.2.2.jar commons-beanutils-1.7.0.jar javassist-3.11.0.GA.jar
(2):编写jsp页面。注意:form表单值为:form=“/工程名/包的命名空间(namespace)/包名称(package)/处理名(action)”
(3):编写web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(4)编写处理类。该处理类一般继承于ActionSupport,只需重新excute()方法即可。注意:此处理类也可以是一般的类:(不继承ActionSupport). 其中的方法名也可以是任意的。但是该处理方法必须要有返回值String,并且这个返回值与struts中的resutl的name值必须一致。比如:
public class Test {
public String testaa(){
System.out.println("Testaa-------Testaa-------Testaa");
return "abc";
}
}
(5):配置struts.xml文件(struts.xml文件必须要放到src目录下,而不是与action类名在同一个目录)。其中
(i):package里面的命名空间:namespace可以与package名称不一致。
(ii):action中Method方法默认是excute,也可以是其他的方法。
(iii):result中的name值不一定是success或者fail。可以是任意值,只需要这个值与处理类中的处理方法返回值一致就可以了。
(iv):struts.xml可以有多个package。
(xv):<constant name="struts.action.extension" value="action,do" />
表示提交地址必须要以.action或者.do结尾格式才能有效。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="j2eetest" extends="struts-default" namespace="/j2eetestaa">
<action name="test" class="com.wsw.struts.action.Test" method="testaa">
<result name="abc">/main/success.jsp</result>
<result name="fail">/main/fail.jsp</result>
</action>
</package>
</struts>