struts初学!

来源:互联网 发布:知乎我,一个人生活epub 编辑:程序博客网 时间:2024/04/28 06:17

 1.控制器

—Struts2有两个重要的控制器:
StrutsPrepareAndExecuteFilter: 核心控制器,负责接收所有请求
Action: 负责处理单个特定请求
—Action是一个普通的类, 不需要实现任何接口或继承任何类
 2.Action的基本结构
—public class SimpleAction {
public String execute() throws Exception{
–return "to-index";
}
—}
—说明:
无需实现任何接口或继承任何类,但有时为了简化某些功能必须继承ActionSupport
execute()方法(函数名可以自己定义)会被自动调用,该方法用于处理用户请求,返回类型为String(必须是string类型),是跳转路径的逻辑名称.向上抛出Exception表示能够处理所有异常.
to-index跳转路径的逻辑名称.
3.Action的配置struts.xml
 
—<struts>
<package name="mypackage" extends="struts-default" namespace="/test" >
–<action name="simple" class="com.aptech.action.SimpleAction">
<result name="to-index">/index.jsp</result>
–</action>
</package>
—</struts>
—package:用于组织Action的一个逻辑概念,必须通过extends继
承自struts-default, struts-default包在struts-
default.xml文件中定义,该文件配置了很多有用的功能.
—action: 所有的Action都必须通过action标签配置
name: 访问action 逻辑名称
class: Action类的全限定名
result子标签: 定义跳转路径, execute()方法的返回值在此定
默认情况下为转发,如果是重定向,必须按下面的格式: <result type="redirect" name="xx">/xx.jsp</result>
4.Action的属性注入值
 

Struts2Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。

public class HelloWorldAction{

  private String savePath;

 

  public String getSavePath() {

  return savePath;

  }

  public void setSavePath(String savePath) {

  this.savePath = savePath;

  }

       ......

}

 

<package name="runhe" namespace="/test" extends="struts-default">

  <action name="helloworld" class="cn.runhe.action.HelloWorldAction" >

  <param name="savePath">/images</param>

  <result name="success">/WEB-INF/page/hello.jsp</result>

  </action>

</package>

上面通过<param>节点为actionsavePath属性注入“/images”

5.自定义类型转换器

 

将上面的类型转换器注册为局部类型转换器

Action类所在的包下放置ActionClassName-conversion.properties文件,ActionClassNameAction的类名,后面的-conversion.properties是固定写法,对于本例而言,文件的名称应为HelloWorldAction-conversion.properties 。在properties文件中的内容为:

属性名称=类型转换器的全类名

对于本例而言, HelloWorldAction-conversion.properties文件中的内容为:

createtime= cn.runhe.conversion.DateConverter

 

自定义全局类型转换器 

将上面的类型转换器注册为全局类型转换器:

WEB-INF/classes下放置xwork-conversion.properties文件 。在properties文件中的内容为:

待转换的类型=类型转换器的全类名

对于本例而言, xwork-conversion.properties文件中的内容为:

java.util.Date= cn.runhe.conversion.DateConverter

 

原创粉丝点击