zoukankan      html  css  js  c++  java
  • Struts2.5使用通配符的方式实现动态方法调用报错

    在Struts2.5使用通配符的方式实现动态方法调用时报错,困扰了好久。。。

    代码如下

    <package name="default" extends="struts-default" namespace="/">    

    </package>    

    <package name="users" namespace="/users" extends="default">     

      <action name="*_*" class="action.{1}Action" method="{2}">     

        <result name="login_success">/users/Users_login_success.jsp</result>     

        <result name="login_failure">/users/Users_login.jsp</result>     

      </action>  

    </package>

    报错信息如下:There is no Action mapped for namespace [/users] and action name [Users_login] associated with context path [/Hibernate-struts-student].

    可以确定的是,我的xml配置没有问题

    在之前的版本,动态使用方法时,要把Struts.xml中添加<constant name="struts.enable.DynamicMethodInvocation" value="true"/>

    但是在2.5版本,这个方法行不通。原来在struts2.5 中为了增加安全性,在 struts.xml 添加了这么个属性

    <allow-methods>方法名(可多个)</allowmethods>,添加完成之后就可以正常运行通配符的配置了。

     eg:<allowed-methods>add,addUI,list</allowed-methods>

     

    果然在修改之后可以了,修改后的文件:

    <package name="users" namespace="/users" extends="default">     

      <action name="*_*" class="action.{1}Action" method="{2}">     

        <result name="login_success">/users/Users_login_success.jsp</result>     

        <result name="login_failure">/users/Users_login.jsp</result>     

        <allowed-methods>login</allowed-methods>     

      </action>  

    </package>

  • 相关阅读:
    测试1.书店的增删改查项目.链接数据库
    添加约束及打印五角星及查询
    结构
    安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
    UMLUnified Modeling Language (UML)又称统一建模语言或标准建模语言
    电视机与遥控器之间的交互
    泛型集合
    狮子和计算Java题
    华为机试——求两个数之间的素数
    判断一个数是否是素数
  • 原文地址:https://www.cnblogs.com/seven1314pp/p/7659472.html
Copyright © 2011-2022 走看看