zoukankan      html  css  js  c++  java
  • SSH框架Struts2.5之后遇到的坑 struts.xml不用通配符没问题,已改成通配符就报异常


    本来也就是一个简单的登录的问题,然后我在这突然想用统配符了。然后......

    用没用通配符的两个anction如下

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
    <struts>
    <package name="default" extends="struts-default" namespace="/">
    <!--
    <action name="Users_login" class="action.UsersAction" method="login">
    <result name="login_success">/users/Users_login_success.jsp</result>
    <result name="login_failure">/users/Users_login.jsp</result>
    </action>
    -->
    </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>
    </struts>
    第一个action完美运行,第二个异常是这样的
    There is no Action mapped for namespace [/users] and action name [Users_login] associated with context path [/sh_students].


    因为struts是2.5版本以后,默认使用strict-method-invocation。。。

    所以只需要加一句

    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
    改成
    <package strict-method-invocation="false" name="default" namespace="/" extends="struts-default">


    这里顺便提一提以前遇到的一种情况,constant标签我当初为了改后缀使用了

    <constant name="struts.action.extension" value="html"></constant>
    再一次偶然的情况下,把它注释掉,发现又能使用通配符了。
    ————————————————
    版权声明:本文为CSDN博主「you_yyyy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/you_yyyy/article/details/78047092

  • 相关阅读:
    微信支付的安全漏洞之XXE
    IP地址分类(A类 B类 C类 D类 E类)
    MySql新增表的字段,删除表字段
    Java基础之中间件的初识
    Java基础之IO框架
    微信H5支付坑一--手续费未结算
    设计模式之简单工厂模式
    nginx负载均衡的5种策略(转载)
    Mybatis注意点之#与$区别
    RSF 分布式 RPC 服务框架的分层设计
  • 原文地址:https://www.cnblogs.com/bkywanly/p/11438032.html
Copyright © 2011-2022 走看看