struts 案例源码

package cn.hd.dynamic;

public class UserAction {

    public String add(){

        System.out.println("添加用户");
        return "success";
    }
    public String delete(){

        System.out.println("删除用户");
        return "success";
    }
    public String update(){

        System.out.println("查找用户");
        return "success";
    }
    public String set(){

        System.out.println("修改用户");
        return "success";
    }

}

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
 <!--   &lt;!&ndash;动态方法的调用的常量 默认是关闭的&ndash;&gt;
    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>-->
<package name="user" namespace="/user" extends="struts-default">
    <!--action配置详解
          name:action起个名字,决定了访问路径最后的地址
          class:访问的是那个类 类的完整的路径名
          method:访问了类中的方法
       -->
 <!--   <action name="userActionAdd" class="cn.hd.dynamic.UserAction" method="add">
        <result name="success">/hello.html</result>
    </action>
    <action name="userActionUpdate" class="cn.hd.dynamic.UserAction" method="update">
        <result name="success">/hello.html</result>
    </action>
    <action name="userActionDelete" class="cn.hd.dynamic.UserAction" method="delete">
        <result name="success">/hello.html</result>
    </action>
    <action name="userActionGet" class="cn.hd.dynamic.UserAction" method="set">
        <result name="success">/hello.html</result>
    </action>-->
    <action name="userAction_*" class="cn.hd.dynamic.UserAction" method="{1}">
        <result name="success">/hello.html</result>
        <allowed-methods>update,add,delete,set</allowed-methods>
    </action>

</package>
</struts>



<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!--il8n 国际化 相当于我们在servlet中设置的编码
            解决了post请求的中文乱码问题-->
    <constant name="struts.i18n.encoding" value="utf-8"></constant>
    <!--extension 使用设置action访问的扩展名
       action
         可以改为do 为什么要改成go 以为struts1用的是do-->
    <!--<constant name="struts.action.extension" value="do"></constant>-->
    <!--developerMode 开发者模式
         1.热部署 你修改配置文件后,等一段时间会自动加载
         2.提高错误信息的提示(友好的错误提示)-->
    <constant name="struts.devMode" value="true"></constant>

<!-- package :他跟项目里面的包没关系,他是用来管理action-->
    <!--name:package起个名字,没什么意义,可以随便命名,一般情况下他的命名是按当前package管理action的分类来命名
         package package的名字不能重复

         namespace:访问路径地址前缀 跟name没有关系 跟其他的package中的 namespace能不能重复,没有要求

         extend:继承 继承自struts-default 必须写 名字不能改 固定的写法 他是从struts2核心包中struts-2.2-core下面的
           struts-default.xml 这里面配置了很多默认属性
           abstract:抽象 生命的一个标志,当前的这个配置文件不能被继承,独立运行,等待被继承
    -->
    <package name="hello" namespace="/hello" extends="struts-default">

        <!--action配置详解
             name:action起个名字,决定了访问路径最后的地址
             class:访问的是那个类 类的完整的路径名
             method:访问了类中的方法
          -->
        <action name="helloAction" class="cn.hd.hello.HelloAction" method="hello">

         <!--result:对应的是action类中的method的返回值
                      名字可以随便写只要和action类中的返回值结果一样就可以,但是情况下使用特定的
                      success:代表成功
                      type:dispatcher 转发
                            redirect 重定向
                         标签中间的值:跳转页面的地址

         -->
        <result name="success">/hello.html</result>
        </action>
    </package>
<include file="cn/hd/dynamic/struts01.xml"></include>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
<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>
    <context-param>
        <param-name>struts.i18n.encoding</param-name>
        <param-value>UTF-8</param-value>
    </context-param>
</web-app>

代码中有注解 希望能帮到大家

猜你喜欢

转载自blog.csdn.net/qq_41961660/article/details/80820106