• IT忍者神龟之Struts2.xml配置全然正确流程能走通可是有红叉解决


    一:Multiple annotations found at this line:Undefined actionName  parameter  Undefined actionnamespace  parameter


    这个红色叉叉报错:

    Multiple annotations found at this line:

    - Undefined actionName 
    parameter
    - Undefined actionnamespace 

    parameter

    可是不影响功能,可是配置多了。非常难看

    自己网上找了非常多类似的资料

    这种错误的原因有非常多,我先列出我所知道的原因

    另外一个是我自己项目的原因,我的原因就在于自己的第一个没大写

    这是改完之后的图


    二:struts2.xml中使用chain和redirectAction这两个注意事项


     当在struts.xml中使用chain和redirectAction这两个类型结果的时候,会报检查错误!

    Multiple annotations found at this line:
        - Undefined actionnamespace
         parameter
        - Undefined actionName parameter

    相信不少朋友会被这个错误折腾的非常难受吧。如今说下解决方式,在百度和google上搜了非常久,国外站点也看了下,半天都没找到解决方法。后来无意中在apache的站点上看到了struts2 chain的使用说明,细致读了一下。就想到了一个办法,也许能够解决。于是就測试了一下,发现问题全然攻克了,如今来说下一我的解决方法。

    chain结果类型有4个属性,各自是:

        actionName (default) - the name of the action that will be chained to

        namespace - used to determine which namespace the Action is in that we're chaining. If namespace is null, this defaults to the current namespace

        method - used to specify another method on target action to be invoked. If null, this defaults to execute method

        skipActions - (optional) the list of comma separated action names for the actions that could be chained to

    当中actionName和namespace是不可缺少的,否则就会报错。所以我在项目中就写成例如以下形式:
    <package name="struts" extends="struts-default" namespace="/bg">
           <action name="login" class="loginAction">
                <result type="chain">
                    <param name="actionName">index</param>
                    <param name="namespace">/bg</param>
                </result>
            </action>
    </package>

    可是这么写就有一个问题。我的项目比較简单,不想使用命名空间。于是我就想怎么解决问题呢,在看官方文档的时候我发现这么一句话:
    A root namespace ("/") is also supported. The root is the namespace when a request directly under the context path is received. As with other namespaces, it will fall back to the default ("") namespace if a local action is not found.

    于是我就想。用"/"取代"/bg"不就能够解决这个问题了么。然后就把代码写成例如以下形式
    <package name="struts" extends="struts-default" namespace="/">
           <action name="login" class="loginAction">
                <result type="chain">
                    <param name="actionName">index</param>
                    <param name="namespace">/</param>
                </result>
            </action>
    </package>

    好了讲到这里我想大家也都明确了该怎么解决chain和redirectAction这两个类型结果(type-result)报检查错误(validation)的问题了吧!


    有多的不正确的地方还请大家多多不吝赐教!


  • 相关阅读:
    时空权衡之计数排序
    何时发生隐式类型转换
    常量指针与指针常量的区别
    虚函数有关面试题
    C++中数组定义及初始化
    InputStream类的available()方法
    FORK()函数
    面向对象三大基本特性,五大基本原则
    SpringMVC工作原理
    java文件的上传
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5235759.html
Copyright © 2020-2023  润新知