Struts2框架学习之二:action详解

本文详细介绍了Struts2框架中的action核心功能,包括action属性、动态方法调用、默认action配置和通配符映射。action是实现业务功能的关键,可以通过实现Action接口、继承ActionSupport或直接创建带有execute方法的类。文中提到了如何利用method属性或动态方法调用来处理多个业务操作,同时强调了动态方法调用的安全隐患。此外,还讲解了如何设置默认action以及使用通配符映射减少action数量的方法。
摘要由CSDN通过智能技术生成

前言

在struts 2中,action是其核心功能,使用struts 2框架,主要的开发都是围绕action进行的,我们编写的action通常需要实现com.opensymphony.xwork2.Action接口,需要实现的方法是execute方法,但是在实际的开发中,编写的action也可以不必实现action接口,而是直接创建一个普通Java类,并添加execute方法就可以public String execute(){return "success";}。还有一种方式是集成ActionSupport类,该类位于com.opensymphony.xwork2下,其实现了Action接口的execute方法。以上方式后面两种方式是最常用的。

围绕action,分为以下内容:

action属性
动态方法调用
默认action配置
通配符映射

action属性

action中有一个映射框架,主要是讲url映射到对应的action类,action的配置主要在struts.xml文件中编写,所有action的属性如下:

属性 是否必需 说明
name action的名字,用于匹配请求的url
class Action实现类的完整类名
method 调用Action实现类中指定的方法
converter 应用于action类型转换器的完整类名

需要注意的是,action的name属性一般不允许出现.或者/或者-的。但是下划线是可以的。另外,如果在配置文件中没有为action配置class完整类名,那么框架会调用ActionSupport类中execute方法,该方法的实现仅仅是返回一个SUCCESS,相当于是转发了,所以这点实际上与struts 1中的ActionForward的作用是一致的。所以我们可以这个特性,实现仅仅需要完成转发功能的action,这点比使用ActionForward方便多了。

下面重点对method属性进行说明

通常action的作用是完成一个功能点,但是例如CRUD这样的操作使用四个action类显然不划算,在struts 2中可以将这四个功能映射到一个action中进行处理,这里就需要使用method属性了。具体的做法是:在struts.xml配置文件中为一个action使用method属性和name属性指定不同别名,就可以实现CRUD映射到同一个action了。

比如有一个用户管理模块,需要对用户进行增加、修改、删除和查询,我们首先创建UserAction类,如下:

package action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{
   

    private static final long serialVersionUID = 1L;

    //查询所有用户
    public String list() throws Exception {
        return SUCCESS;
    }

    //修改用户信息
    public String update(){
  
  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值