struts2基础

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中的resutlname值必须一致。比如:

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):actionMethod方法默认是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>






























你可能感兴趣的:(struts2基础)