Struts2的Action详解

本文详细介绍了Struts2框架中的Action组件,包括Action的作用、创建方法及访问方式,并探讨了不同创建方式的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Struts2中的action,主要是完成业务逻辑操作。Action替代在servlet中完成的作用。

Action的学习主要有两点:

  • 如何创建一个struts2action
  • 如果访问一个struts2action

1.Action类创建方式(三种)

创建一个pojo

Pojo(plani Ordinary java object)简单的java对象

Pojo类就是没有实现任何接口没有继承任何类

优点:无耦合

缺点:所有的功能都要自己完成

创建一个类实现一个Action接口

com.opensymphony.xwork2.Action

Action接口中定义了五个常量,一个execute方法

五个常量:它们是默认的五个结果视图<result name=””>:

  • ERROR : 错误视图
  • INPUT: 它是struts2框架中interceptor中发现问题后会访问的一个视图
  • LOGIN:它是一个登录视图,可以在权限操作中使用
  • NONE:它代表的是null,什么都不做(也不会做跳转操作)
  • SUCCESS:这是一个成功视图

优点:耦合度低

缺点:还是需要自己来完成功能

创建一个类继承ActionSupport

com.opensymphony.xwork2.ActionSupport

ActionSupport类也实现了Action接口。

我们在开发中一般会使用这种方案:

优点:具有丰富的功能,例如  表单校验 错误信息设置  国际化

缺点:耦合度高

2.action的访问方式

1.直接通过<action>标签来配置,通过method来指定访问的方法,如果method没有,默认访问的是execute方法。

2.简化的action访问方式,可以使用*通配符来访问。

这种方式的缺点:不建议使用过多的*号,它带来程序阅读障碍,不便于理解

使用*来简化操作方案,它对名称规范必须进行一个统一。


3.扩展--动态方法调用

Localhost:8080/struts2Test/strust2!show

这是strtus2提供的动态方法调用。

注意:对于strtus2的动态方法调用,要想使用我们必须配置一个常量来开启动态方法调用

<!-- 这代表动态方法调用没有开启 -->
Struts.enable.DynamicMethodInvocation = false;
<!-- 动态方法调用开启 --
<constantname="Struts.enable.DynamicMethodInvocation"value="true"></constant> 
>

  不建议使用动态方法调用



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值