Action的配置

在Struts2中,一个Action类是一个独立的工作单元。一个Action类代表了用户的一次请求或调用,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理。简单来说,Action就是用来处理用户请求的对象。

Action类是Struts2的核心功能,对于开发者而言,使用Struts2就是编写Action类。

在Struts2中,Action以多种形式存在,例如在Java类充当Action、继承ActionSupper类实现Action接口和Action。

Struts2最大的特点:Action类可以是一个普通的Java类,实现了与Servlet API的完全分离。它包含了无参数的execute()方法、成员变量及其setter()和getter()方法。

public class HelloWorld {

private String message;

public String getMessage(){

return message;

}

public void setMessage(String message) {

this.message = message;

}

public String execute(){

if(message.equals(“”)){

return “error”;

}else{

Return “success”;

}

}

}

Struts2提供了一个com.pensymphony.xwork2.Action接口和实现该接口的execute()方法,该方法为:

public String execute() throws Exception

在实际开发中,action类很少直接实现Action接口,通过继承ActionSupper来实现Action是最常用的方法,ActionSupper实现了Action接口,还实现了Validateable接口、ValidationAware接口、TextProvider接口等,提供了输入验证、国际化、execute等常用方法,使得用户在编写Action时代码更加简单。选择从ActionSupport继承,可以简化action的定义。

然而Action要正确运行,则需要在Struts.xml中配置才可以使用。而struts.xml文件是Struts应用中一个非常重要的核心配置文件,要负责管理业务控制器Action。

<package>元素:Struts2通过包来管理Action、拦截器等核心组件。它把逻辑上相关的一组Action、Result、Intercepter等元素封装成一个独立的模块,简称为包。package可以继承其他的package,也可作为父包被其他的package继承。Package元素的属性如下:

name:包名,作为其他包引用本包的标识符,该属性必须配置。

extends:用于继承其他的包,后面配置的是被继承的包的名称,该属性为可选

namespace:包的命名空间,该属性为可选。同一命名空间不能有同名的Action。namespace可防止action重名的冲突,因在配置了namespace后,在访问action时就需添加namespace来作为action的前缀。若没有配置namespace,则表示是默认的namespace,在访问时就不需添加namespace前缀。

abstract:设置为抽象包,也就是不能包含Action的定义,该属性为可选。可被其他包继承,因此里面可定义其他包所需元素,如ResultType、Interceptor等。

配置时需注意:

<action>元素时<package>元素的子元素,应配置在<package>元素里面

<package>元素可以把

<action>元素需配置name和class属性,其中name是必须的

<action>元素可以包含其他的子元素:<param>、<result>、<interceptor-ref>

时间: 2024-10-04 21:58:08

Action的配置的相关文章

struts开发&amp;lt;struts中的action详细配置. 二&amp;gt;

在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 详细文件夹结构例如以下 第一种配置方法 新建UserAction package fzl.user.struts.demo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String list(){ Sys

【转】struts1.2的action参数配置

转载地址:http://chenfeng0104.iteye.com/blog/796870 <struts-config>     <form-beans>         <form-bean name="baseForm" type="jade.struts.form.BaseForm"/>     </form-beans> <action-mappings>     <!-- 关注actio

struts开发&lt;struts中的action具体配置. 二&gt;

在eclipse中新建项目StrutsDemo1[struts的配置见]struts开发<在eclipse中配置struts. 一> 具体目录结构如下 第一种配置方法 新建UserAction package fzl.user.struts.demo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { public String list(){ System

struts+spring action应配置为scope=&quot;prototype&quot;

truts+spring action应配置为scope="prototype" <bean id="personAction" scope="prototype" class="quickstart.action.PersonAction"> <constructor-arg ref="personService" /></bean> 在配置文件中,bean默认是单例模

Struts2(四)Action二配置

一.method参数 action package com.pb.web.action; public class HourseAction { public String add(){ System.out.println("执行添加操作!"); return "success"; } public String update(){ System.out.println("执行更新操作!"); return "success"

Struts2之Action的配置

一.Action的动态调用方法 Action执行的时候并不一定要执行execute方法,我们可以指定Action执行哪个方法: 方法一:通过methed属性指定执行方法: <package name="user" extends="struts-default" namespace="/user"> <!-- method="add"表明调用该action时是执行该action对象的add方法 -->

Struts2的动态方法,及result跳转方式,全局结果以及默认的action的配置

Action动态方法的调用 首先我们需要在struts.xml中去配置一个常量值如下 那么去哪找呢?找到Struts-core.jar并打开 method属性 <action name="login" class="cn.ssh.ch08.UserAction" method="lgoin"> <result name="success">/success.jsp</result> <

struts Action的配置

struts2 的action要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. 首先  public String execute() throws Exception 实现一个返回类型为String的无参的public方法: public String  ID(){ return success; } 要com.opensymphony.xwork2.ActionSupport类继承,ActionSupport实现了Action接

笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用

Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDispatcher 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <filter>     <filter-name>struts2</filter-name>     <filter-class>org.apache.struts2.di