本文共 1727 字,大约阅读时间需要 5 分钟。
在Struts2框架开发中,Action类的创建方式和访问方法是核心内容之一。本文将从Action类的创建方式以及其访问方法两方面进行详细介绍。
Struts2框架支持三种创建Action类的方式,每种方式都有其独特的优缺点和适用场景。
创建一个POJO类
POJO(Plain Old Java Objects)指的是没有实现任何接口,也没有继承任何父类(除了Object)的普通Java对象。这种方式的优点是无耦合度高,但缺点是所有操作都需要手动实现。 在Struts2框架中,这种方式通过反射来实现:obj = Class.forName("cn.itcast.action.BookAction").newInstance();Method m = Class.forName("cn.itcast.action.BookAction").getMethod("execute");m.invoke(obj); 创建一个实现Action接口的类
Action接口是Struts2框架的核心接口,提供了五种结果视图(SUCCESS、ERROR、INPUT、LOGIN、NONE)以及行为方法。这种方式的优点是耦合度较低,但缺点是需要手动实现接口中的方法并管理结果视图。 例如:public class BookAction implements Action { public String SUCCESS = "success"; public String ERROR = "error"; public String execute() { // 数据处理逻辑 return SUCCESS; }} 继承自ActionSupport类
ActionSupport类是Action接口的实现类,内置提供了表单校验、错误信息设置、国际化支持等功能。这种方式的优点是开发效率高,但耦合度较高。 例如:public class BookAction extends ActionSupport { public String execute() { // 数据处理逻辑 return SUCCESS; }} Struts2框架提供了多种方式来访问Action类中的方法。
通过method属性指定方法
在struts.xml文件中,可以通过method属性指定需要调用Action类中的哪个方法。 例如: 当访问book_add时,会调用BookAction类中的add方法。
使用通配符简化配置
通配符可以简化Action类的配置,适用于多个Action类共享同一个配置文件的情况。 在struts.xml中,可以使用*_*作为通配符。 例如: 这样,当访问Book!add或Product!delete时,会分别调用相应的方法。
动态方法调用
Struts2框架支持动态方法调用,通过在URL中使用感叹号!分隔方法名称。 例如: book add
当访问Book!add时,会调用BookAction类中的add方法。
struts.properties文件中设置: struts.enable.DynamicMethodInvocation = true
通过以上方法,可以灵活地创建和访问Struts2框架下的Action类,从而实现高效的应用开发。
转载地址:http://neefk.baihongyu.com/