Struts学习笔记5

来源:互联网 发布:qt编程快速入门 pdf 编辑:程序博客网 时间:2024/06/06 02:52

http://hi.csdn.net/space.php?do=home

ActionMapping的研究和分析

1.作用:将特定请求映射到特定Action的相关信息存储在ActionMapping中,ActionServlet将ActionMapping传送到Action类的execute方法,Action将使用ActionMapping的findForward方法,此方法将返回一个指定名称的ActionForward,这样Action就完成了本地转发,若没有找到具体ActionForward,则返回空ActionMapping继承于org.apache.struts.config.ActionConfig

2.方法:

public ExceptionConfig findException(Class type); 查找异常对象

public ActionForward findForward(String name);

public String[] findForwards();  找到一个Action可以使用的ActionForward列表

ActionFoward的研究和分析

1.简介:
ActionForward是Struts的核心类之一,其基类仅有四个属性:name/path/redirect/classname,在基于Struts的应用程序开发中,Action操作完成后,会通过Struts的配置文件struts-config.xml链接到指定的ActionForward,传到Struts的核心类ActionServlet,ActionServlet通过ActionForward提供的路径,将控制传递给下一个步骤,ActionForward控制接下来程序的走向。ActionForward代表一个应用URI,它包括路径和参数。ActionForward的参数除了在struts-config.xml和页面设置外,还可以通过Action类添加参数,或从新在Action中创建一个ActionForward.
2.属性
在 ActionForward中有一个重要的属性redirect,当redirect=false时,将保存存储在http请求和请求上下文中的所有内容,仅在同一个应用中可用。当redirect=true时,Web客户端进行一次新的http请求,请求的资源可以在同一个应用中,也可以不在,原来的请求参数不再保存,原来的请求上下文也被清除,新的http请求仅包含ActionForward的path属性里所包含的参数。如果在同一个应用中,用户会话的上下文会被维护。ActionForward分为全局转发和局部转发,Action的Mapping对象的findForward方法首先会检查局部转发列表,查找失败就会到全局转发列表中查找。书写格式中,我们一般将全局变量定义为String常数,避免误解,使得转发列表结构清晰易读

ActionForm的研究和分析

1.ActionForm的要求
ActionForm扩展自org.apache.struts.action.ActionForm,基类ActionForm是不能实例化的。ActionForm的参数必须要与表单域的参数相同。如果想对ActionForm传递到Action之前进行校验,必须实现validate方法。如果想在组装前初始化属性,必须实现reset,它在ActionForm组装前被调用。
2.ActionForm作为字段收集器,
  当一个HTML表单通过HTTP被提交,所有的内容都被视为文本,WEB服务器结束到的表单元素,是名值对的方式来到的。它是文本字符串,不是二进制数据。  一些表单允许将文件作为一个附件进行上载,这时附件要进行特殊编码,以便仅使用文本内容编码就可以提交二进制文件。这时允许我们能够通过HTTP传递传递二进制文件,文件被转换成文本字符流来传输,然后接收后又被转换回来。












原创粉丝点击