zoukankan      html  css  js  c++  java
  • Struts2学习-struts.xml文件配置

    学习框架过程中,一直对框架中的配置文件比较难理解,特搜集资料简要记录一下struts.xml文件遇到的问题。

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     4     "http://struts.apache.org/dtds/struts-2.0.dtd">
     5  
     6 <struts>
     7   <package name="basicstruts" extends="struts-default">
     8  
     9   <action name="showProduct" class="com.how2java.action.ProductAction" method="show">
    10     <result name="show">show.jsp</result>
    11   </action>   
    12   <action name="addProduct" class="com.how2java.action.ProductAction" method="list">
    13     <result name="list">list.jsp</result>
    14   </action>   
    15  
    16 </package>
    17  
    18 </struts>

    1.包(package)用于管理Action,一个包中可以有多个Action。

      name属性:包名,一个项目中不能有同名的包。

      extends属性:开发必须继承struts-default包。

      method属性:对应action类中的具体方法。

    2. Action

    2.1 action配置

      name:action名称,用来访问action路径

      class:类名

    2.2 result配置

      name:每个action方法都要返回一个String类型的值,这个值必须与这个name相对应。

      type:跳转类型

           默认为dispatcher(转发),将跳转到result文本节点中指定的地址。

          转发又称服务器跳转,一次请求,一次响应,客户端向服务器端请求当前资源,这个资源将在服务器端内跳转到另一资源,由另一资源发回响应。

                还有一种为redirect(重定向),可以来重定向到Action

          重定向又称为客户端跳转,两次请求,两次响应,客户端向服务器端请求当前资源,服务器端响应回来一个其他地址,由客户端再一次根据发回来的地址来请求,                       由对应地址在最终发回来响应。

    3. Struts通配符

      传统方法中,例如上述代码中的list,show之类的方法,需要分别配置,这样的话需要耗费大量的配置时间,所以引入通配符来解决这一问题。

    <action name="*Product" class="com.how2java.action.ProductAction" method="{1}">
        <result name="show">show.jsp</result>
        <result name="list">list.jsp</result>
      </action>

    *Product 表示所有以Product结尾的路径,都会匹配在这个Action上 
    method={1}表示第一个通配符 
    如果访问的是addProduct就会调用add方法 
    如果访问的是listProduct就会调用list方法 
    以此类推

    初学者,如有错误还请指正!

  • 相关阅读:
    Cocos2d-x之CCMenu理解
    【问题记录】mysql设置任意ip访问
    kafka eagle 使用教程
    查看Android源码和源码布局
    JAVA问题之泛型数组
    Linux面试题汇总答案(转)
    从源码看Azkaban作业流下发过程
    Azkaban源码学习笔记
    Java多线程基础学习(二)
    Java多线程基础学习(一)
  • 原文地址:https://www.cnblogs.com/huqingfeng/p/12358732.html
Copyright © 2011-2022 走看看