Struts2中Struts.xml的作用是什么?
主要作用就是为Struts 2的核心配置文件。
一、struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。
二、Apache Struts 2最初被称为WebWork 2,它是一个简洁的、可扩展的框架,可用于创建企业级Java web应用程序。设计这个框架是为了从构建、部署、到应用程序维护方面来简化整个开发周期。
三、web.xml配置文件是一种J2EE配置文件,决定servlet容器的HTTP元素需求如何进行处理。它严格来说不是一个Struts2 配置文件,但它是Struts2 运作所需要进行配置的文件。
四、在web.xml里定义一个FilterDispatcher类的接入点,而这个web.xml文件需要在WebContent/WEB-INF文件夹下创建。如果你开始时没有模板或工具(比如Eclipse或Maven2)的辅助来生成,那这就是第一个你需要配置的文件。
(1)struts.xml 为Struts 2的核心配置文件。struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。
(2)struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。
1)Action映射是指:
在struts.xml中指定action执行的方法,如:<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
一:name="findgoodstype" 即为调用action时使用的名称,调用方法为:findgoodstype.action。
二:class="com.myStruts.web.action.GoodsTypeAction" 是定向要到哪个java文件中,前提保证是:在com.myStruts.web.action包目录结构中要有GoodsTypeAction.java文件。
三:method="findGoodsType" 即为action要执行的方法,前提保证:在GoodsTypeAction.java文件中要有名为findGoodsType的方法。
2)Action中传递参数:
<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
<param name="kind">child</param>
</action>
其中param name="kind",kind是传递的参数名,child为参数传递的值,该参数值在findGoodsType方法中可用ServletActionContext.getRequest().getParameter("kind")方法获得。
3)跳转到相应页面:
<action name="findgoodstype" class="com.myStruts.web.action.GoodsTypeAction" method="findGoodsType">
<param name="kind">child</param>
<result name="goodstype">stype.jsp</result>
</action>
其中result name="goodstype"中的goodstype为findGoodsType方法的返回值,可用return "findGoodsType";方式实现,stype.jsp为将要跳转到的jsp页面。
struts.xml文件的配置方法还有很多,以上只是常用的。