struts.xml 配置 细节

来源:互联网 发布:龙虎榜数据分析软件 编辑:程序博客网 时间:2024/05/16 17:42

1 struts.xml位置必须在项目的src下,名称也不能变化。

2 配置文件中主要由三个标签:package,action,result 

3 package 标签:类似于代码中的包,以区别不同的action ,配置action 必须先写package ,一个package下面可以写多个action标签。

name 属性:此属性与功能本身没有关系,package之间name属性值不能重复

extends = “struts-default” 属性是固定的,只有写了之歌属性之后,才可以在package标签的下面写action 标签

namespace = “/” 属性:namespace属性与action中name属性组成访问路径。

4 action 标签:主要属性name,class,method

(1)name属性:在package下面可以写多个action标签,但是action标签中的name属性是不能重复的

(2)class :方法所在类的全路径:包名+类名称(不加后缀名的名称)

(3)method :比如在action里默认执行的方法是execute,但是在action配置中想执行其他方法,使用method进行配置

5 result 标签:根据action 的方法返回值,配置不同的路径(此标签不一定都存在)如果执行的结果后不需要访问别的路径则不需要配置这个标签

name 属性:必须和方法返回值一样

type 属性:配置到别的路径的方法(是转发还是重新定向,如果不配置,默认是转发)


访问action方法:

(1)在action标签中method属性写入执行方法的名称:

例如:package com.grl;

public class helloAcion {
public String execute()
{
return "OK";
}
public String add()
{
System.out.println("add.......");
return "add";
}
public String update()
{
System.out.println("update.....");
return "update";
}
}

要访问add,update方法配置如下:

<struts>
<package name="hellodeno"  extends="struts-default" namespace="/">
   <action name="hello"  class = "com.grl.helloAcion" method = "add">
       <action name="hello"  class = "com.grl.helloAcion" method = "update">
   </action>
</package>   
</struts>

这种方式的缺点是:当方法比较多,需要为每一个方法配置一个action ,这样会太繁琐。所以一般经常使用通配符的方法来进行配置。

(2)使用通配符:

如上的两个方法add和update 用通配符配置如下所示:

<struts>
<package name="hellodeno"  extends="struts-default" namespace="/">
   <action name="book_*"  class = "com.grl.helloAcion" method = "{1}">      
   </action>
</package>   
</struts>

{1}  代表第一个*号匹配的内容

分模块开发:

每个开发者写自己的xm配置文件,在将配置文件引入到struts核心文件中去。引入文件

<include file = "   com/grl/helloAcion /hello.xml" ></include>  file 路径最开始一定不能带/。如果子配置文件跟struts位置相同,则直接写配置文件的名称即可。

action 编写的三种方法

(1)创建普通类,不继承任何类,任何接口

(2)创建类,实现接口Action,重写execute方法

(3)创建类,继承类ActionSupport


0 0