没有为动作和结果定义结果

2022-01-16 00:00:00 configuration java jsp struts2 actionresult

默认结果不是单独使用我的包的结果呈现.流程转到我的 n0result 方法,然后它抛出 Exception.

Default result is not rendering using result for my package alone. Flow goes to my n0result method then It throws Exception.

请更正我的错误配置.

输出:

Hello How are you noresult() method got called.....
Dec 26, 2013 12:48:04 PM org.apache.struts2.dispatcher.Dispatcher serviceAction
SEVERE: Could not find action or result
No result defined for action leo.struts.HelloWorldAction and result noresult - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Strut2Examples/WEB-INF/classes/struts.xml:99:93
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:350)

表格:

<s:form action="noresultactionupdate" >            
            <s:submit value="noresultactionupdate"/>
</s:form>

Struts.xml

<package name="resultpackage" extends="struts-default">     
        <result-types>
            <result-type name="defaultdispatcher" default="true"
                class="org.apache.struts2.dispatcher.ServletDispatcherResult" />
        </result-types>

        <action name="noresultactionupdate" class="leo.struts.HelloWorldAction" method="noresult">
            <result name="success">/noresultend.jsp</result>
            <result name="defaultdispatcher">/noresultdefaultdispatcher.jsp</result>
        </action>       
</package>

行动:

public String noresult() throws Exception {         
    System.out.println("Hello How are you noresult() method got called.....");
    setMessage("noresult");
    return "noresult";
}

推荐答案

struts 配置没有问题.问题是在动作配置中找不到 "noresult" 结果.您已经配置了结果或返回了操作配置中的结果代码,例如 SUCCESS.

Nothing wrong with the struts configuration. What is wrong is that "noresult" result is not found in the action configuration. You have either configure a result or return a result code that you have in the action config such as SUCCESS for example.

public String noresult() throws Exception {         
    System.out.println("Hello How are you noresult() method got called.....");
    setMessage("noresult");
    return Action.SUCCESS;
}

相关文章