struts2入门(二)-知识总结

在学了struts2的环境搭建和最基本的开发步骤后,再来总结一些知识点,以便更好地理解(struts2基本开发步骤 见:http://lekihuo.iteye.com/blog/679103

 

 一、关于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><!-- 该文件放到src目录下,编译后自动部署到classes目录 -->
	<include file="otherModule.xml"></include>
	<package name="test123" namespace="/a/b" extends="struts-default" abstract="fault">
		<action name="hello" class="sample1.HelloWorldAction" method="execu">
			<result name="ok">/showHello.jsp</result>
		</action>
	</package>
</struts>

 

    1)package标记

        在一对package标记中,可以配置多个action,实际应用中一般将有相似业务逻辑或者是同一个模块中的action配置在同一个package中,这跟Java代码中的package类似

        package属性介绍

        1.name 必须的,其他包要继承该包,必须经过该属性进行引用
        2.namespace 定义该包的命名空间,默认为“/”,命名空间做为访问该包下action路径的一部分,例如上面的action访问路径为:/a/b/hello
        3. extends 默认继承了struts-default包,可使这个包下面默认应用了struts2一些新功能,如拦截器等
        4.abstract 默认值为"fault",当 abstract=”true” 则该包内不能有action,struts-default.xml 就是这样的,该文件在
struts2-core-2.0.12.jar

     2)include 标记

         如果package、action、interceptors等配置比较多时,都放到一个struts.xml文件不太容易维护。因此,就需要将struts.xml文件分成多个配置文件,然后在struts.xml文件中使用< include>标签引用这些配置文件。这样做的优点如下:
       结构更清晰,更容易维护配置信息,配置文件可以复用。

要注意一下,用< include>引用的xml文件也必须是完整的struts2的配置。实际上< include>在引用时是单独解析的xml文件,而不是将被引用的文件插入到struts.xml文件中。

     3)action 标记

          一个Action可以配置多次(只要action配置中的name不同即可)

     action的属性:

         name 我们给Action起的名称,url中要用

         class 这个没的说,Action类的路径,默认为ActionSupport

         method  要调用的action中的方法名,默认为execute方法

     附:Struts2里Action名称的搜索顺序
     如:根据上面的配置,在地址栏输入 htpp://.......app/a/b/c/d/hello.action
在Struts2中,首先会按照命名空间规则,先查"/a/b/c/d"这个命名空间下有无hello,没有此action后,会在"/a/b/c"这个命名空间查,以此类推,直至"/a/b"下查到有该action。还有一点,如果在"/a/b"下还是无法查到该action,则会继续到"/a"下查,还是没有,则会查默认名称空间"/",要是还没有,则页面提示找不到action

 

     4)result 标记

           该标记用于配置跳转

     result的属性

         name 默认值"success"

         type   转发类型,Struts2 中result常用的视图转发类型(dispatcher(默认)、redirect、redirectAction、plainText)

     注意:该标记指定的页面前如果不加"/",则表示相对路径。

     如上:把showHello.jsp前面的“/”去掉,则执行action后,会找/a/b/showHello.jsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值