zoukankan      html  css  js  c++  java
  • struts2官方 中文教程 系列十三:利用通配符选择方法

    介绍

    在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法。这样做的目的是减少struts.xml文件中action节点的数量

    本帖地址:struts2官方 中文教程 系列十三:利用通配符选择方法 即 http://www.cnblogs.com/linghaoxinpian/p/7047295.html 

    下载本章节代码

    不使用通配符

    新建一个PersonAction类,类里包含create、edit、delete方法,那么,相应的在struts2.xml文件中,我们要添加如下URL映射

    <action name="createPerson" class="action.PersonAction" method="create">
        <result name="input">input.jsp</result>
        <result name="success">view.jsp</result>
    </action>
    
    <action name="editPerson" class="action.PersonAction" method="edit">
        <result name="input">input.jsp</result>
        <result name="success">view.jsp</result>
    </action>

    可以看出这是多么繁琐的操作。使用通配符方法,使Struts 2框架能够动态地选择在运行时调用正确方法,您只需使用通配符 * ,在您的名称值和一个属性值放一个占位符 {1} 。例如:

    <action name="*Person" class="action.PersonAction" method="{1}">
        <result name="success">view.jsp</result>
        <result name="input">input.jsp</result>
    </action>

    该节点可以匹配任何以Person为后缀的URL,同时要执行的方法为 * 的内容,这与正则表达式是相同的,另外,第一个 由{1}表示,第二个 *  由{2}表示........如下URL皆可匹配:

    http://localhost:8080/struts_basic/createPerson.action

    http://localhost:8080/struts_basic/editPerson

    http://localhost:8080/struts_basic/indexPerson

    动态方法调用

    本章的 “通配符动态方法选择” 不应与 “动态方法调用” 混淆,Struts 2的文档解释了这种技术(它使用了),并建议不要使用“动态方法调用”技术,因为安全性和其他与此技术在内部实现的原因或相关的原因。Struts 2文档也建议通过在struts配置文件中设置struts.enable.DynamicMethodInvocation= FALSE 来关闭动态方法调用。

    总结

    通过使用上面介绍的通配符方法选择技术,可以显著减少在Struts 2 XML配置文件中需要编写和管理的操作映射节点的数量。

  • 相关阅读:
    Quartz
    WebService
    JavaMail
    安装phpnow服务[Apache_pn]提示失败的解决方法
    idea安装激活
    csdn下载
    java解析json串常识
    Oracle错误——ORA-03113:通信通道的文件结尾
    SSM(Maven集成)
    SpringMVC的拦截器
  • 原文地址:https://www.cnblogs.com/linghaoxinpian/p/7047295.html
Copyright © 2011-2022 走看看