关闭

Struts2通配符映射

标签: struts2.0通配符映射
310人阅读 评论(0) 收藏 举报
分类:
1、一个Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系
2、通配符映射规则
若找到多个匹配, 没有通配符的那个将胜出
若指定的动作不存在, Struts 将会尝试把这个 URI 与任何一个包含着通配符 * 的动作名及进行匹配 
被通配符匹配到的URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串
{0}匹配整个 URI
Struts 找到的带有通配符的匹配不止一个, 则按先后顺序进行匹配
* 可以匹配零个或多个字符, 但不包括 / 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用 \.

示例1:

包声明:

<package name="app1" namespace="/app1" extends="struts-default">
        <action name="*_add" class="com.elgin.action.UserAction" method="add">
        
           <result >/jsp/user.jsp</result>
        
        </action>
    </package>

上面的包声明可以由正确的命名空间和_add 组成的 URI 来调用, 包括:
/app1/book_add.action
/app1/student_add.action
/app1/_add.action
/app1/whatever_add.action

示例2:

<package name="app2" namespace="/app2" extends="struts-default">
        <action name="Book_add" class="com.elgin.action.Book" method="add">
        
           <result>/jsp/Book.jsp</result>
        
        </action>
        <action name="Student_add" class="com.elgin.action.Student" method="add">
        
           <result>/jsp/Student.jsp</result>
        
        </action>
    </package>
    <!-- 上述配置可改写为如下形式 -->
    <package name="app2" namespace="/app2" extends="struts-default">
        <action name="*_add" class="com.elgin.action.{1}" method="add">
        
           <result >/jsp/{1}.jsp</result>
        
        </action>
    </package>
示例3:

<package name="app3" namespace="/app3" extends="struts-default">
        <action name="Book_add" class="com.elgin.action.Book" method="add">
        
           <result>/jsp/Book.jsp</result>
        
        </action>
        <action name="Book_delete" class="com.elgin.action.Book" method="delete">
        
           <result>/jsp/Book.jsp</result>
        
        </action>
        <action name="Student_add" class="com.elgin.action.Student" method="add">
        
           <result>/jsp/Student.jsp</result>
        
        </action>
        <action name="Student_delete" class="com.elgin.action.Student" method="delete">
        
           <result>/jsp/Student.jsp</result>
        
        </action>
    </package>
    <!-- 上述配置可改写为如下形式 -->
    <package name="app2" namespace="/app2" extends="struts-default">
        <action name="*_*" class="com.elgin.action.{1}" method="{2}">
        
           <result >/jsp/{1}.jsp</result>
        
        </action>
    </package>
示例4:

<!-- 通配符映射 -->
    <package name="user" namespace="/" extends="struts-default">
       
       <action name="UserAction-*" class="com.elgin.action.UserAction" method="{1}">
           <result name="{1}-success">/success.jsp</result>
       </action>
       
    </package>




0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Struts2中action映射的四种配置方式

<
  • feiyang123_
  • feiyang123_
  • 2015-03-03 18:21
  • 2663

关于Struts2配置问题,不能映射到对应的页面

之前视屏教程上的配置进行配置,配置了后怎么也不能显示,
  • sgilec
  • sgilec
  • 2014-11-05 18:36
  • 559

关于Struts中Action映射的解释

Action映射就是将一个请求URL映射到一个action类,当一个请求匹配某个action的名字时,struts就使用这个映射来确定如何处理请求。 name属性: Action的名字,用于匹配...
  • xiekuntarena
  • xiekuntarena
  • 2016-09-14 22:22
  • 731

struts中3种情况通配符的使用方法 及 动态方法调用

一:概述       概念: 应用可能有很多个action 声明,可把多个相似的映射关系简化为一个映射关系的机制 (多个Action类----一个action标签)      通配符映射规则: 一般使...
  • BiLaHePan
  • BiLaHePan
  • 2016-03-15 23:06
  • 1018

struts2通配符的应用以及action、result、package的name和namespace属性同名时的处理方法

1.对于同一个下两个name属性相同的,struts2是这样处理的,后面的将覆盖前面的 2.对于同一个下两个name属性相同的,struts2是这样处理的,后面的将覆盖前面的 3.配置文件...
  • sunshine_love
  • sunshine_love
  • 2013-01-31 14:27
  • 2643

【struts2】action中使用通配符

在以前的学习中,元素的配置,都是用明确的配置,其name、class等属性都是一个明确的值。其实Struts2还支持class属性和method属性使用来自name属性的通配符。   1)接下来看看...
  • houfeng30920
  • houfeng30920
  • 2016-05-25 14:57
  • 1734

struts2中的通配符

在上一篇《struts2中的动态方法调用DMI》中,介绍了通过DMI方式进行不同action的跳转控制。另外,可以通过使用通配符更加灵活的进行配置信息的精简。举例如下:   场景:进行用户的增、删、...
  • yyywyr
  • yyywyr
  • 2014-03-02 12:05
  • 2907

struts2通配符及Action开发的三种方式

一,通配符与动态方法调用 1)准备一个UserAction.java,这个Action中有两个方法login()和register() package com.bighuan.a_config; ...
  • bighuan
  • bighuan
  • 2017-04-16 12:20
  • 1476

struts2通配符的使用

struts2 通配符 如struts中配有如下几个action,ManagerUserAction中有与之对应的方法 /addUser.jsp /delUser.jsp ...
  • u012833063
  • u012833063
  • 2014-02-27 15:29
  • 1494

关于struts2通配符的使用

struts2 中配置文件 可以用通配符来确定URL的发送地址,配置文件可以变得更加简洁 如下实例:     /{1}_{2}_success.jsp    如果使用通配符,会将星号做...
  • u014405427
  • u014405427
  • 2014-07-02 20:35
  • 406
    个人资料
    • 访问:98683次
    • 积分:1795
    • 等级:
    • 排名:千里之外
    • 原创:85篇
    • 转载:3篇
    • 译文:0篇
    • 评论:20条