zoukankan      html  css  js  c++  java
  • struts2:多业务方法的处理(动态调用,DMI)

    struts2支持调用指定Action类中某一个业务方法。如果没有指定,则调用execute方法。

    1. 第一种实现方式,通过URL叹号参数

    1.1 创建Action类,带多个方法

    package com.clzhang.ssh.demo4;
    
    public class ListAction {
        public String listUser() {
            System.out.println("列出员工信息");
            return "user";
        }
    
        public String listSalarySum() {
            System.out.println("列出员工总工资信息");
            return "sum";
        }
    
        public String execute() {
            System.out.println("执行了execute方法");
            return "default";
        }
    }

    1.2 配置文件如下

    <?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>
        <package name="myStruts" extends="struts-default">
            <global-results>
                <result name="user">/ssh/demo4/user.jsp</result>
                <result name="sum">/ssh/demo4/sum.jsp</result>
                <result name="default">/ssh/demo4/default.jsp</result>
            </global-results>
    
            <action name="list" class="com.clzhang.ssh.demo4.ListAction">
            </action>
        </package>
    
        <constant name="struts.action.extension" value="action"></constant>
    </struts>

    上述配置文件中使用了全局result,只需配置一次,其它任何地方用到此配置的都不需要再行配置。

    1.3 各JSP文件如下

    user.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <body>
            员工列表
        </body>
    </html>

    sum.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <body>
            总工资列表
        </body>
    </html>

    default.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
        <body>
            默认的execute()语句
        </body>
    </html>

    1.4 调用

    1.4.1 打开IE,输入:http://127.0.0.1:8080/st/ssh/list.action

    结果如下:

    1.4.2 打开IE,输入:http://127.0.0.1:8080/st/ssh/list!listUser.action

    结果如下:

    2. 第二种实现方式,在Action标记中加入method属性

    2.1 创建类,同上

    2.2 配置文件如下

    <?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>
        <package name="myStruts" extends="struts-default">
            <global-results>
                <result name="user">/ssh/demo4/user.jsp</result>
                <result name="sum">/ssh/demo4/sum.jsp</result>
                <result name="default">/ssh/demo4/default.jsp</result>
            </global-results>
    
            <action name="listSalarySum" class="com.clzhang.ssh.demo4.ListAction" method="listSalarySum">
            </action>
    
            <action name="listUser" class="com.clzhang.ssh.demo4.ListAction" method="listUser">
            </action>
        </package>
    
        <constant name="struts.action.extension" value="action"></constant>
    </struts>

    2.3 各JSP文件同上

    2.4 测试

    2.4.1 打开IE,输入:http://127.0.0.1:8080/st/ssh/listSalarySum.action

    结果如下:

    3. 第三种实现方式,在表单提交按钮中加入method属性

    参考struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)

  • 相关阅读:
    ASP.NET MVC 音乐商店 1 创建项目
    ASP.NET MVC 音乐商店 2.控制器
    TCP/IP体系结构
    C#线程系列
    多条件分页查询细节
    持续集成引擎 Hudson 和IOC 引擎StructureMap
    GoF著作中未提到的设计模式
    Thoughtworks
    Thoughtworks2
    监控 SQL Server 的运行
  • 原文地址:https://www.cnblogs.com/nayitian/p/3459203.html
Copyright © 2011-2022 走看看