zoukankan      html  css  js  c++  java
  • Struts2笔记——通配符和动态方法调用

     通配符映射

    * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系

    * 通配符映射规则
        > 若找到多个匹配, 没有通配符的那个将胜出
        > 若指定的动作不存在, Struts 将会尝试把这个 URI与任何一个包含着通配符 * 的动作名及进行匹配 
        > 若 Struts找到的带有通配符的匹配不止一个, 最后一个匹配将胜出
        > 被通配符匹配到的 URI 字符串的子串可以用 {1}, {2} 来引用. {1} 匹配第一个子串, {2} 匹配第二个子串…
        > {0} 匹配整个 URI
        > * 可以匹配零个或多个字符, 但不包括/ 字符. 如果想把 / 字符包括在内, 需要使用 **. 如果需要对某个字符进行转义, 需要使用.


    图片

    图片

    图片


    ==================================

    动态方法调用 

    * 动态方法调用:通过url 动态调用 Action中的方法

        如果Action中存在多个方法时,我们可以使用!+方法名调用指定方法

    * 默认情况下,Struts 的动态方法调用处于激活状态, 若想禁用该功能,则可以在struts.xml 文件中添加如下 constant元素:
        <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 

    图片 


    ==================================

    使用通配符定义action 

    图片 

    ==================================

    全局结果

    当多个action中都使用到了相同result,这时我们应该把result定义为全局结果。struts1中提供了全局forward,struts2中也提供了相似功能:
     

    <package ....>

        <global-results>

        <resultname="message">/message.jsp</result>

        </global-results>

    </package>
     

     

    注:局部的会覆盖全局

     

    Struts1中应用范围内action的实例 action是单实例(执行时,现在缓存中查找实例,有用,没有创建新的实例)

    Struts2中 应用范围内action的实例,每个请求都会创建一个action实例 

  • 相关阅读:
    洛谷P3959 宝藏(模拟退火乱搞)
    POJA Star not a Tree?(模拟退火)
    HDU 2899Strange fuction(模拟退火)
    洛谷P2062 分队问题(dp)
    主定理与时间复杂度
    android工程混淆和反编译
    查看linux内存、cpu
    Android sqlite数据库存取图片信息
    深入浅出JSONP--解决ajax跨域问题
    分析WordPress主题结构是如何架构的?
  • 原文地址:https://www.cnblogs.com/pwc1996/p/4839159.html
Copyright © 2011-2022 走看看