• 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>

    我不作恶

    但有权拒绝为善

    我不赞同

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

  • 相关阅读:
    javascript:void(0)是什么意思 天高地厚
    C#开发 WinForm中窗体显示和窗体传值相关知识
    c#在WinForm中重写ProgressBar控件(带%的显示)
    flash在C#中的应用
    c# winform 关于DataGridView的一些操作
    winform中输入数据的验证
    RadioButton和CheckBox
    Manifest文件的配置
    简单程序用于熟悉Activity生命周期
    Activity的生命周期
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/6115135.html
Copyright © 2020-2023  润新知