• JavaEE笔记(六)


    实现Action的几种方法
    1. implements Action
    2. extends ActionSupport
    3. 也可以不继承任何父类不实现任何借口

    #当一个类有多个方法

    package com.struts.test;
    import com.opensymphony.xwork2.ActionSupport;
    public class Test extends ActionSupport {
        private static final long serialVersionUID = 1L;
    
        @Override
        public String execute() throws Exception {
            System.out.println("execute");
            return SUCCESS;
        }
        
        public String add() throws Exception {
            System.out.print("add");
            return "add";
        }
        
        public String update() throws Exception {
            System.out.print("update");
            return "update";
        }
        
        public String delete() throws Exception {
            System.out.print("delete");
            return "delete";
        }
    }

    如上方法,里面有add()、update()、delete();
    这么多方法该如何配置?
    1. 配置多个action

    <package name="struts_two" extends="struts-default">
        
        <!-- 执行Test类中的update方法 -->
        <action name="test_one_struts" class="com.struts.test.Test" method="update">
            <!-- 返回跳转到Test_update.jsp页面 -->
            <result name="update">/Test_update.jsp</result>
        </action>
        
        <!-- 执行Test类中的delete方法 -->
        <action name="test_one_struts" class="com.struts.test.Test" method="delete">
            <!-- 返回跳转到Test_delete.jsp页面 -->
            <result name="delete">/Test_delete.jsp</result>
        </action>
        
        <!-- 执行Test类中的add方法 -->
        <action name="test_one_struts" class="com.struts.test.Test" method="add">
            <!-- 返回跳转到Test_add.jsp页面 -->
            <result name="add">/Test_add.jsp</result>
        </action>
    </package>

    2.动态配置(不推荐)

    <!--#2.5版本需要打开动态配置
    <constant value="true" name="struts.enable.DynamicMethodInvocation"/>
    -->
    <package>
        <action name="test_one_struts" class="com.struts.test.Test">
            <result name="update">/Test_update.jsp</result>
            <result name="delete">/Test_delete.jsp</result>
            <result name="add">/Test_add.jsp</result>
        </action>
    </package>

    3.通配符配置(推荐)

    <package>
        <!--
        * 通配符
        根据你输入的路径来判断你是执行什么方法
        比如:你输入 Test_delete,那么就会执行Test_类的delete方法,并且跳转到对应的页面
        -->
        <action name="Test_*" class="com.struts.test.Test" method="{1}">
            <result name="{1}">/Test_{1}.jsp</result>
        <!-- 2.5版本及以上必须配置<allowed-methods>标签,允许的方法 -->
            <allowed-methods>add,delete,update,select</allowed-methods>
        </action>
    </package>

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    【Redis】事务
    【Web】Apache HttpClient & HttpAsyncClient
    【Spring】导入配置文件
    【SpringBoot】@Conditional注解家族
    【前端开发】dva+antd+react
    【Spring】EnableXXX
    POJ-2240-Arbitrage
    POJ-2387-Til the Cows Come Home
    hdu-1847-畅桶工程续
    Floyd算法模板(多源最短)
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/6115135.html
Copyright © 2020-2023  润新知