J2EE 进阶 (三)struts2 <s:action>标签的用法及 Spring 在 web.xml 中的配置
一、走近 struts2 <s:action>标签
使用action
标签,可以允许在 jsp 页面中直接调用Action
,(类似AJAX
页面调用)在调用Action
时候,可以指定需要被调用的Action
的name
和namespace
。如果指定了executeResult
参数的属性值为 true,该标签会把Action
的处理结果(视图资源)包含到本页面中。 使用action
标签指定属性有:
id
: 可选属性,作为该Action
的引用 ID;name
: 必选属性,指定调用Action
;namespace
: 可选属性,指定该标签调用Action
所属 namespace;executeResult
: 可选属性,指定是否将Action
的处理结果包含到本页面中。默认值为false
,不包含。ignoreContextParam
: 可选参数,指定该页面的请求参数是否需要传入调用的Action
中,默认值是false
,即传入参数。
传递参数
<s:param ></s:param>
是以request
方式的值的,而不是以参数传值。所以request.getParameter("")
会获取不到值。 通过request.getAttribute("")
方式可以获取
另外:使用<s:param ></s:param> value
指代的是action
定义的对象的名称,而不是一个值。和 <s:textfield>
中的name
是一个意思,所以要要传递字符串的不能把值写value
中而应该写成:<s:param >写到这里</s:param>
。
二、Spring 在 web.xml 中的配置
在实际项目中spring
的配置文件applicationcontext.xml
是通过spring
提供的加载机制自动加载到容器中。在 web 项目中,配置文件加载到 web 容器中进行解析。目前,spring
提供了两种加载器,以供 web 容器的加载:一种是ContextLoaderListener
,另一种是ContextLoaderServlet
。这两种在功能上完全相同,只是前一种是基于 Servlet2.3 版本中新引入的 Listener 接口实现,而后一种是基于 Servlet 接口实现,以下是这两种加载器在 web.xml 中的配置应用:
ContextLoaderListener
ContextLoaderServlet
通过上面的配置,web 容器会自动加载applicationcontext.xml
初始化。
如果需要指定配置文件的位置,可通过 context-param 加以指定:
之后,可以通过WebApplicationContextUtils.getWebApplicationContext
方法在 web 应用中获取applicationcontext
的引用。
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/7a15e3950c1e33f59a07da83e】。文章转载请联系作者。
评论