• struts2默认action设置了却访问不到


    1、错误原因

      我的package中共有两个action,第一个是默认action,用于访问的action不存在时候的出错处理,第二个是通配符方式写的action,name采用*_*形式的全通配符。配置好了,访问默认action时候会报错,但如果第二个action的class属性的包名中也包含通配符,如调整之后的代码中的{3},就可以正常访问默认action,不知道什么原因,估计是bug。

    2、出错时候的struts.xml的package部分代码

    <struts>
        <package name="default" namespace="/" extends="struts-default" strict-method-invocation="false">
            <!--默认action的使用:当用户要访问的action有误的时候自动跳转到该页面-->
            <default-action-ref name="index" />
            <action name="index">
                <result>/error.jsp</result>
            </action>
    
            <action name="*_*" method="{2}" class="com.icheny.action.{1}Action">
                <result>/result.jsp</result>
                <result name="add">/{2}.jsp</result>
                <result name="update">/{2}.jsp</result>
            </action>
        </package>
    </struts>

    3、第二个action的class的包名中增加一个通配符之后的struts.xmlpackage部分代码

    <package name="default" namespace="/" extends="struts-default" strict-method-invocation="false">
            <!--默认action的使用:当用户要访问的action有误的时候自动跳转到该页面-->
            <default-action-ref name="index" />
            <action name="index">
                <result>/error.jsp</result>
            </action>
           
            <action name="*_*_*" method="{2}" class="com.icheny.{3}.{1}Action">
                <result>/result.jsp</result>
                <result name="add">/{2}.jsp</result>
                <result name="update">/{2}.jsp</result>
            </action>
        </package>
  • 相关阅读:
    TSQL语句
    约束
    数据库创建
    递归
    函数
    结构体
    集合
    jquery中的select
    正则表达式
    多表单提交
  • 原文地址:https://www.cnblogs.com/iCheny/p/10964282.html
Copyright © 2020-2023  润新知