在本系列指南的第四部分,你可以学习如何运用ActionMapping 来改进你的Struts 应用程序。" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

用ActionMapping构建漂亮的Struts应用程序

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
用ActionMapping构建漂亮的Struts应用程序 ?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在本系列指南的第四部分,你可以学习如何运用ActionMapping 来改进你的Struts 应用程序。

  

用ActionMapping构建漂亮的Struts应用程序


 <?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

在本系列指南的第四部分,你可以学习如何运用ActionMapping来改进你的Struts应用程序。
  by Budi Kurniawan

  阅读本系列指南的前三部分:
  第一部分:“你的第一个Struts应用程序”
  第二部分:“Struts应用程序中的流程控制”
  第三部分:“用ActionForward优化你的Struts应用程序”

  邱吉尔曾经说过他喜欢学习新东西,但他觉得没有必要让别人教他。不管你是否喜欢学习新知识,也不管有人教你还是你自学,学习Java通常意味着仔细研究许多非凡的类。学习Struts也是如此。

  这就是我写本系列第四部分的初衷,在本文中,我将详述org.apache.struts.action.ActionMapping类,它是从org.apache.struts.config.ActionConfig派生的。ActionMapping将一个请求路径映射到一个action类,它是Struts应用程序中最常用的类之一。在你深入学习这个类时,你会重新用到在该系列第1、2和3部分创建的两个login应用程序,从而了解如何运用ActionMapping来重写应用程序。

  当然,你可能不记得以前用过任何ActionMapping实例了。这是因为控制器servlet实际上为你创建了它们。你只需要配置在Struts配置文件(struts-config.xml)中创建的每个ActionMapping实例就行了(通过给它的属性赋值)。了解这些属性对正确运用ActionMapping类很重要,因此我将讲述这些属性以及如何定义它们。

  首先,让我们回想一下,Struts配置文件的根元素是<struts-config>。<struts-config>元素可以包含一个可选的<action-mappings>元素,同样<action-mappings>元素可以包含<action>元素。例如,下面就是本系列第三部分的login应用程序配置文件中的<struts-config>元素及其子元素:

<struts-config>
  <action-mappings>
    <action path="/login"
               type="com.javapro.struts.LoginAction"/>
    <action path="/logout"
               type="com.javapro.struts.LogoutAction"/>
    <action path="/viewSecret"
               type="com.javapro.struts.ViewSecretAction"/>
  </action-mappings>
</struts-config>

  <action-mapping>中的每个<action>都代表控制器servlet创建的一个ActionMapping实例。一个<action>元素可以包含多个特性,每个特性都和ActionMapping实例中的一个属性相应。

  作为例子,我们来看前面的Struts配置文件中的这个<action>元素:

<action path="/login"
      type="com.javapro.struts.LoginAction"/>

  这个<action>将路径“/login”映射到action类com.javapro.struts.LoginAction。换句话说,一个以“/login.do”结尾的用户请求将被传递到LoginAction类。然而,ActionMapping也有其它的用途。你(Struts程序员)可以通过给它的属性赋值来给ActionMapping实例下达action指令。(有些属性与action forms相关,我将在本系列的第五部分讲述。)

  ActionMapping类的属性
  
  

精彩图集

赞助商链接