• SSH出错之-- No result defined for action


     No result defined for action

    ----

     一、错误原因

    这个错误可能是由很多原因引起的

    1)可能是输入的变量为空值

    输入的变量为空值,action会转到input里去,input又没有。错误。

    2)配置文件写错了

    二、输入的变量为空值

    三、配置文件写错

    我看了半天,我的action里面明明就有result的定义,但是无论我怎么改,运行到execute中return的时候,它死活找不到页面。

    错误的:(按理说省略namespace不应该是错的,但是事实如此,我也无法啊。)

        <package name="money"  extends="struts-default">
    
            <action name="transfer"     class="com.meetcomet.action.transferAction">
                <result name="input">/index.jsp</result>
                <result name="success">/welcome.jsp</result>
                <result name="error">/fail.jsp</result>
            </action>
    </package>

    正确的:

    就是命名空间的问题。

        <package name="money" namespace="/" extends="struts-default">
    
            <action name="transfer"     class="com.meetcomet.action.transferAction">
                <result name="input">/index.jsp</result>
                <result name="success">/welcome.jsp</result>
                <result name="error">/fail.jsp</result>
            </action>
    </package>

     如果不写命名空间,默认的命名空间为"".

    引用一段话:

    默认的命名空间“ namespace="" ”, 根命名空间  namespace="/" ”。   

        <package name="test" extends="struts-default"> ,如果未指定命名空间,则命名空间默认为  namespace="" ”。

        默认命名空间里的Action可以处理任何命名空间下的Action请求。例如,如果存在URL为/barspace/bar.action的请求,并且/barspace的命名空间下没有名为bar的Action,则默认命名空间下名为bar的Action也会处理用户请求。但根命名空间下的Action只处理根命名空间下的Action的请求,这是根命名空间和默认命名空间的区别。     命名空间只有一个级别。如果请求的URL是/bookservice/search/get.action,系统将先在/bookservice/search的命名空间下查找名为get的Action,如果在该命名空间内找到名为get的Action,则由该Action处理用户的请求;如果未找到,系统将直接进入默认的命名空间中查找名为get的Action,而不会在/bookservice的命名空间下查找名为get的Action 

    这段话是正确的。我一开始没有弄清楚name 和namespace的区别,访问的时候用的URL是"/money/transfer",没有设置namesapce,照常能访问。但是,找不到result的页面。如果设置了namespace的空间为namespace=“/money",则可用”/money/transfer"来访问。

    name和namespace的区别

    name 用来指定包的名称。包要名称干什么呢?我觉得好处是能让包能继承。比如<package name="test" extends="struts-default"> 这个就是继承了struts-default这个包。如果需要,可以继承test这个包。

       

  • 相关阅读:
    解决:The content of element type "web-app" must match "(icon?display
    [转]实体类与数据库字段不匹配问题,java.sql.SQLSyntaxErrorException: Unknown column 'xxx' in 'field list'
    IDEA中导入其它由Maven管理的java web项目并运行,提示“Error:(3, 38) java: 程序包org.springframework.stereotype不存在”问题的解决
    动态规划题目汇总
    数组题目汇总
    c++11 push_back与emplace_back之间的区别
    字符串题目汇总
    链表题目汇总
    C++ stringstream与getline()
    二叉树题目汇总
  • 原文地址:https://www.cnblogs.com/meetcomet/p/3419250.html
Copyright © 2020-2023  润新知