程序员的知识教程库

网站首页 > 教程分享 正文

第4讲-Struts2之Action和类型转换

henian88 2024-08-12 19:44:35 教程分享 79 ℃ 0 评论

Action到底是什么?

Action是整个Web应用的核心,是业务控制器。是MVC中的C。负责流程调度。

Action是 Model 和 View 的中枢纽带。

通常Action中不包括业务逻辑。

Struts 2.0框架下的Action是对原始的HTML Form Action的封装。除了私有属性之外,还添加了许多实用的方法。

Action的接口和ActionSupport类

public abstract interface Action{

public static final String SUCCESS=“success”;

public static final String NONE=“none”;

public static final String ERROR=“error”;

public static final String INPUT=“input”;

public static final String LOGIN=“login”;

public abstract String execute() throws Exception

}

ActionSupport类:

public class ActionSupport implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable{

……

}

ActionSupport类中常用的方法:

public String getText(…);

public void addActionError(…);

public void addActionMessage(…);

public void addFieldError(…);

public String execute(…);

public void validate(…);

在Action中访问Servlet对象

Action通过ActionContext类来访问servlet对象,例如Application,Session对象等。

ActionContext 在Action运行期间保存了所需要的各种上下文信息。如session和URL传递的参数集合等。

使用:

ActionContext ac=ActionContext.getContext();

ac.getSession();

ac.getApplication();

Action直接访问Servlet API

HttpServletRequest request=ServletActionContext.getRequest();

HttpSession session=request.getSession();

session.setAttribute("name",value);

通常不建议直接访问servlet相关的内容。

因为Struts框架不一定用于web开发。如果直接访问servlet相关内容,不利于程序的移植。

Action的配置

普通定义:

<action name=““ class=““ method=““ />

还可以定义 type 属性:

dispatcher: 默认type类型,视图采用JSP,请求参数保留。

freemarker:

redirect: 重定向到其他页面,请求参数丢失。

redirect-action: 重定向到其他Action

xslt: 整合XML和XSLT

plaintext: 页面的原始代码。

使用通配符:

<action name=“math_*_*” class=““ method=“{1}”>

<result>/{0}.jsp</result>

</action>

类型转换

类型转换和数据校验有什么不同?

类型转换在数据校验之前进行。

类型转换是系统自动完成的,不需要用户的额外工作。 数据校验还需要用户自行配置。

特殊类型转换要自己写。 类型转换不成功时,框架自动提示信息

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表