3.Struts2配置文件标签介绍

Struts2的很多核心功能都是由拦截器实现的。
struts-default.xml中定义了这些拦截器与Result类型。
所以,不继承struts-default包,Struts2提供的很多核心功能是无法使用的。
1、package标签
配置包时必须指定name属性,该属性值可以任意取名,但必须唯一。
其与Java的类包间无对应关系。若其他包要继承该包,则必须通过该属性进行引用。
包的namespace属性用于定义该包的命名空间。
命名空间是访问该包下Action的路径的一部分。
此属性可以不配置。若不配置,则默认的命名空间为“”(空字符串)。
2、action标签
在struts2中,访问struts2中的action的URL路径由两部份组成:
包的命名空间+action的名称,
例如访问上篇文章例子中名为helloworld的Action的URL路径为:/test/bbbb 。
注意:
如果没有为action指定class,默认是ActionSupport。
而ActionSupport的execute() 方法的默认处理就是返回一个“success”字符串。
method属性用于指定执行action中的那个方法,
若没有指定,则默认值为“execute”,即执行指定action的execute方法。
3、result标签
result标签用于指定视图,name属性指定该视图的名称.
如果没有指定name属性,默认值为SUCCESS (常量SUCCESS的值为字符串常量“success”)。

在上一篇文章 2.第一个Struts2程序-HelloWorld程序中,

struts.xml配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>
<package name="aaaa" namespace="/test" extends="struts-default">
<action name="bbbb" class="actions.HelloWordAction">
<result>/welcome.jsp</result>
</action>
</package> </struts>

HelloWordAction.java代码如下

package actions;

public class HelloWordAction {

    public String execute(){

        System.out.println("I am HelloWordAction.java");
return "success";
} }

如果想修改HelloWordAction.java为:

package actions;

public class HelloWordAction {

    public String some(){

        System.out.println("I am HelloWordAction.java");
return "other";
} }

那么必须要修改struts.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>
<package name="aaaa" namespace="/test" extends="struts-default">
<action name="bbbb" class="actions.HelloWordAction" method="some">
<result name="other">/welcome.jsp</result>
</action>
</package> </struts>

上一篇:Android权限声明


下一篇:BAT CMD 批处理文件脚本 -1