生活随笔
收集整理的這篇文章主要介紹了
Struts 2.x No result defined for action 异常
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這是我跑struts2的第一個例子,跑的也夠郁悶的,這個問題煩了我?guī)讉€鐘。。。
?
| 2011-5-10 10:10:17 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn 警告:?Could?not?find action?or?result No result defined?for?action com.augur.action.LoginAction?and?result success ?at?com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266) ?at?com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) ?at?com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252) ?atorg.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) ?at?com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) ?at?com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) ?at?com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) ?at?com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) ?at?com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) ?at?org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) ?at?org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) ?at?org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395) ?at?org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) ?at?org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ?at?org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) ?at?org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) ?at?org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) ?at?org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) ?at?org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) ?at?org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) ?at?org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864) ?at?org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) ?at?org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665) ?at?java.lang.Thread.run(Thread.java:662)
|
剛開始的login.jsp頁面代碼如下
| <%@?page language="java"?contentType="text/html; charset=gbk" ????pageEncoding="gbk"%> <!DOCTYPE?html?PUBLIC?"-//W3C//DTD HTML 4.01 Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd"> <html> ??<head> ????<meta?http-equiv="Content-Type"?content="text/html; charset=gbk"> ????<title>My JSP?'index.jsp'?starting?page</title> ??</head> ?? ??<body> ????<form?action="login.action"?method="post"> ????????<table?align="center"> ????????????<caption>用戶登錄></caption> ????????????<tr> ????????????????<td>用戶名:<input?type="text"?name="username"/></td> ????????????</tr> ????????????<tr> ????????????????<td>密 碼:<input?type="text"?name="password"?/></td> ????????????</tr> ????????????<tr?align="center"> ????????????????<td?colspan="2"><input?type="submit"?value="登錄"?name="submit"/><input?type="reset"?value="重置"name="reset"/></td> ????????????</tr> ????????</table> ????</form> ??</body> </html>
|
LoginAction.java的代碼如下
| package?com.augur.action;
public?class?LoginAction { ????private?String?username; ????private?String?password; ???? ???? ????public?String?getUsername()?{ ????????return?username; ????}
????public?void?setUsername(String?username)?{ ????????this.username?=?username; ????}
????public?String?getPassword()?{ ????????return?password; ????}
????public?void?setPassword(String?password)?{ ????????this.password?=?password; ????}
????public?String?execute()?throws?Exception ????{ ????????if("1".equals(getUsername())?&&?"1".equals(getPassword())) ????????{ ????????????System.out.println("驗證通過。。。"); ????????????return?"success"; ????????} ????????else ????????{ ????????????System.out.println("驗證失敗...."); ????????????return?"failure"; ????????} ????} } |
struts.xml文件如下
| <?xml?version="1.0"?encoding="UTF-8"?> <!DOCTYPE?struts PUBLIC? ????"-//Apache Software Foundation//DTD Struts Configuration 2.1/EN" ????"http://struts.apache.org/dtds/struts-2.1.dtd"> ????<struts> ???????? ????????<package name="struts2"?extends="struts-default"> ????????????<action name="login"?class="com.augur.action.LoginAction"> ????????????????<result name="success">/welcome.jsp</result> ????????????????<result name="failure">/error.jsp</result> ????????????</action> ????????</package> ????</struts> |
?這個原因找了很久,網(wǎng)上說的原因也一大堆,關(guān)于格式轉(zhuǎn)換錯誤的我覺得都不可能,這是很簡單的一個例子。全都是String 類型的,壓根可能性很低。試了好幾個方法都不行。頭大了幾個鐘。后面網(wǎng)上看到了login.jsp頁面里面
form的action屬性的login.action和struts的action標(biāo)簽的name屬性要對應(yīng),并且login的頭字母要大寫,也就是login.jsp里面form的action屬性要改為Login.action,而struts.xml文件里面的action的name 也要對應(yīng)的改為Login,發(fā)現(xiàn)這個錯誤真的很低級。當(dāng)然造成這個錯誤可能也有其他原因。這只是其中之一。 原文地址:http://blog.chinaunix.net/uid-9554081-id-2000842.html
轉(zhuǎn)載于:https://www.cnblogs.com/caiyao/p/4132886.html
總結(jié)
以上是生活随笔為你收集整理的Struts 2.x No result defined for action 异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。