`
tianhandigeng
  • 浏览: 374252 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Struts的配置文件struts-config.xml中action元素的parameter属性作用

阅读更多

      没有struts之前,使用servlet,最常用的是 doGet,doPost,service方法,如果有些经验的程序员会合理的使用这三个方法:如在用户发出get的请求时,将用户请求在doGet方法 中处理,用户发出post请求时,将用户的请求用doPost请求处理,必要时加上service方法去处理那些在一个servlet中必须执行的请求, 用户的请求大体也就这三类,但是如果细分,一个“编辑”,“删除”,“查看”等操作都是doGet的范围,当然也可以都写到serice方法中或 doPost中处理,这样为了区分这些请求,我们通常都要在程序中加入一个判断的参数,如:operate,然后在程序中判断 if operate.equals("update")....,if operate.equals("del")....,if operate.equals("view")....等,实际上这只是个简单的逻辑,如果业务更加复杂,你可能写更多的类时operate的参数,这样 就造成程序中有若干if..else if...else if ..,即便你有非常好的编码规范,整齐的缩进,这个程序也相当难维护;而用到struts时,你又可能把这些参数都写到execute方法中;那么最好的 方法还是将这些逻辑分开处理,如果执行“编辑”操作的时候调用“编辑”对应的方法,执行“删除”的时候调用“删除”对应的方法...将是比较理想的结果, 为了实现这个应用要求,struts引入DispatchAction,这样你在struts-config.xml文件的action元素中增加 parameter属性即可实现这个功能:

例如appfuse的配置:
<action
         path="/saveUser"
         type="org.appfuse.webapp.action.UserAction"
         name="userForm"
         scope="request"
         input="edit"
         parameter="method"
         unknown="false"
         validate="false"
       >
         <forward
           name="list"
           path="/WEB-INF/pages/userList.jsp"
           redirect="false"
         />
         <forward
           name="edit"
           path="/WEB-INF/pages/userForm.jsp"
           redirect="false"
         />
       </action>

parameter="method"这个参数就是说,在用户提交请求时取得method参数,根据method参数调用相应的方法,如 /editUser.html?method=Delete就是调用对应action中的Delete方法,这样你就可以写一个Action类处理很多的 逻辑,而不是象从前那样在一个方法里面加上若干参数,或者直接建若干个action来处理。

例如appfuse的UserAction

package org.appfuse.webapp.action;

import ...


public final class UserAction extends BaseAction {
   
       public ActionForward add(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
       throws Exception {
           ...
       }

       public ActionForward cancel(ActionMapping mapping, ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
       throws Exception {
           ...
       }

       public ActionForward delete(ActionMapping mapping, ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
       throws Exception {
           ...
       }

       public ActionForward edit(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
       throws Exception {
           ...
       }

       public ActionForward save(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
       throws Exception {
           ...
       }

       public ActionForward search(ActionMapping mapping, ActionForm form,
                                   HttpServletRequest request,
                                   HttpServletResponse response)
       throws Exception {
           ...
       }
   
       public ActionForward unspecified(ActionMapping mapping, ActionForm form,
                                        HttpServletRequest request,
                                        HttpServletResponse response)
       throws Exception {
       
           ...
       }

       private void sendNewUserEmail(HttpServletRequest request, UserForm userForm)
       throws Exception {
           ...
       }

}

当你没有传入method参数,或者没有符合参数的方法时,程序将执行unspecified方法;当然method只是一个逻辑名字而已,你也可以使用其他名字,如:method1,method2,go2,asdad等

 

 

分享到:
评论

相关推荐

    配置struts--config.xml详解

    总结,`struts-config.xml` 是 Struts 框架的核心配置文件,通过它我们可以设置Action、Form Bean、消息资源、全局转发等关键元素,以实现应用程序的逻辑流程。熟练掌握其配置能极大地提高开发效率和应用质量。

    struts-config.xml 详解

    `struts-config.xml`是Struts框架的核心配置文件,它定义了应用程序的行为和组件之间的交互。这个文件的主要目的是提供一个集中式的配置点,用于设置数据源、表单bean、异常处理、动作映射等关键元素。以下是每个...

    Struts_config.xml详解

    Struts框架的核心配置文件`struts-config.xml`是整个应用的关键组成部分之一,它定义了应用程序中各个组件(如Action、FormBean等)的行为与交互方式。本文将详细介绍`struits-config.xml`中的关键配置项,并解释其...

    commons-dbcp-1.2.2.jar &commons-pool-1.3.jar

    在Struts框架中,`struts-config.xml`文件用于配置Action、Forward和DataSource等。例如,如果需要在Struts应用中使用上述配置的DataSource,可以在`struts-config.xml`中进行如下设置: ```xml &lt;plug-in className...

    Struts配置文件详解

    在`struts-config.xml`中,Action配置使用`&lt;action&gt;`元素,它包含`path`属性定义请求路径,`type`属性指定Action类,`parameter`属性用于指定提交的请求参数,`forward`元素定义了Action执行成功后的转发路径。...

    Struts1.3和config配置详解

    在Struts1.3版本中,`struts-config.xml`配置文件扮演着至关重要的角色,它是Struts框架的核心配置文件,定义了控制器的行为和应用的结构。 `struts-config.xml`配置详解: 1. **全局常量配置**:此部分用于定义...

    struts2 配置文件

    Struts2主要依赖于两种基于XML的配置文件:`web.xml` 和 `struts-config.xml`(通常命名为 `struts.xml`)。本文将详细介绍这两种配置文件的作用及配置方式。 #### 二、web.xml 文件 **web.xml** 是一个Web应用程序...

    struts 配置

    在Struts 1.x版本中,配置文件主要包括`web.xml`和`struts-config.xml`,它们是实现Struts框架功能的核心配置。 **一、web.xml配置文件** `web.xml`是每个Web应用程序的部署描述符,它告诉服务器如何启动和运行...

    struts-config1.2配置实例

    在 Struts 1.x 版本中,配置文件遵循特定的 DTD(文档类型定义),如 `struts-config_1_2.dtd`,DTD 定义了有效的元素、属性及其约束。随着 Struts 的发展,新的版本可能引入了更多的配置选项和元素,因此开发者需要...

    Struts开发指南之安装与使用.doc

    此文件是Struts的核心配置文件,包含了数据源、ActionForm、全局异常、全局转发、Action映射、Controller配置和资源文件配置。例如: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts-config ...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    加载附加的国际化属性文件(不包含.properties后缀) struts.custom.properties Location of additional configuration properties files to load 加载附加的配置文件的位置 struts.devMode Whether Struts ...

    配置 struts1.3

    - 该框架的核心组件包括ActionForm、Action、ActionServlet、Struts配置文件(struts-config.xml)、JSP标签库等。 2. **配置文件struts-config.xml** - `struts-config.xml`是Struts框架的核心配置文件,它定义...

    struts 配置文件 标记库

    `struts-config.xml`是Struts框架的核心配置文件之一,它主要用于定义应用中的表单对象、动作映射以及转发规则等。 ##### 1. `&lt;form-beans&gt;`与`&lt;form-bean&gt;`元素 - **`&lt;form-beans&gt;`**:该元素用于包含多个`&lt;form-...

    struts1教程.doc

    Struts 1.x框架的核心组件包括ActionForm、Action、Controller(Struts ActionServlet)、JSP(视图)以及配置文件struts-config.xml。ActionForm用于接收和验证用户输入,Action处理业务逻辑,Controller负责调度...

    Struts配置详解.doc

    在Struts中,配置文件是实现其功能的关键部分,主要包括`web.xml`和`struts-config.xml`。 **web.xml配置文件详解:** `web.xml`是每个Java Web应用程序的部署描述符,它定义了应用程序的基本配置信息,如Servlet...

    第一个struts成功例子

    创建 Struts 应用的基本步骤包括:配置 `web.xml` 以启动 Struts 框架,编写 `struts-config.xml` 配置文件来设定请求与 Action 类的映射,以及定义视图的跳转规则。同时,还需要在 JSP 页面中使用 Struts 标签库来...

    Struts 入门源码

    在Struts框架中,核心组件包括Action类、配置文件(struts-config.xml)以及JSP视图页面。Action类是业务逻辑的处理中心,它接收来自客户端的请求,执行相应的业务操作,并通过ActionForward或ActionRedirect将控制...

    struts配置文件

    - `Struts初始化参数`:我们还可以通过`&lt;init-param&gt;`标签设置`ActionServlet`的初始化参数,比如`config`参数,它的值通常是`struts-config.xml`的路径,用来指示Struts框架加载哪个配置文件。 - `欢迎页面`:`...

    搭建struts1.x环境例子源码

    编辑WEB-INF下的web.xml文件,配置Struts1.x的Filter和Servlet。添加以下代码: ```xml &lt;filter-name&gt;strutsPrepareFilter&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.struts.action.ActionServlet&lt;/filter-class&gt;...

Global site tag (gtag.js) - Google Analytics