Struts2 多方法的Action

Action中的方法代表业务逻辑,那么一个模块中的多个业务逻辑如何用Action来处理呢?我们有2种办法来处理这个问题:

  1. 一个Action对应一个业务逻辑,实现方便,但是Action数量多,struts.xml中需要配置的内容也多,这种方法不推荐;
  2. 一个Action对应多个业务逻辑,例如表的CRUD操作,含有多个业务逻辑,我们只写一个Action来实现,Action的数量没有增加,struts.xml的配置也简单,所以这种方法是我们推荐的做法。

Action中自定义方法的声明和execute方法一样,方法的调用路径为“Action名称!方法名称.action”。

以用户表Userinfo的CRUD操作为例,看一下多方法Action的代码:

package com.wdl.duofangfaAction;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class curdAction extends ActionSupport {
    
    public String add() throws Exception{
        System.out.println("curdAction..add");
        return "success";
    }
    public String updata() throws Exception{
        System.out.println("curdAction..updata");
        return "success";
    }
    public String delete() throws Exception{
        System.out.println("curdAction..delete");
        return "success";
    }
}

struts.xml配置如下

<?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="curd" namespace="/curd" extends="struts-default">
        <action name="curdaction" class="com.wdl.duofangfaAction.curdAction">
            <result name="success">/MyJsp.jsp</result>
        </action>       
    </package>
</struts>

前台页面链接格式 ./namespace/actionname!action类方法名().action

<a href="./curd/curdaction!add.action">add</a><p/>
    <a href="./curd/curdaction!updata.action">updata</a><p/>
    <a href="./curd/curdaction!delete.action">delete</a><p/>

 

转载于:https://www.cnblogs.com/daqian/p/4203561.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值