问题描述
初学struts,也没什么积分,头一次发帖了,写的不详细的地方还望各位多多提出,还望各位大神多多指教!是按照struts的例子学习的http://www.tutorialspoint.com/struts_2/struts_examples.htm。Navigator模式下的项目结构图如下:HelloWorldAction.java代码如下:packagecom.tutorialspoint.struts2;publicclassHelloWorldAction{privateStringname;publicStringexecute(Stringname)throwsException{return"success";}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}
index.jsp代码如下:<%@pagelanguage="java"contentType="text/html;charset=utf-8"%><%@taglibprefix="s"uri="/struts-tags"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1"><title>HelloWorld</title></head><body><h1>HelloWorldFromStruts2</h1><formaction="hello.action"><labelfor="name">Pleaseenteryourname</label><br/><inputtype="text"name="name"/><inputtype="submit"value="SayHello"/></form></body></html>
HelloWorld.jsp代码如下:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><!--该标签表示本页将会使用structs指令,并且这些指令将会被s:property优先执行--><html><head><metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1"><title>HelloWorld</title></head><body>HelloWorld<s:formvalue="name"/></body></html>
struts.xml代码如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""http://struts.apache.org/dtds/struts-2.0.dtd"><struts><constantname="struts.devMode"value="true"/><packagename="helloworld"namespace="/"extends="struts-default"><actionname="hello"class="com.tutorialspoint.struts2.HelloWorldAction"method="execute"><resultname="success">/HelloWorld.jsp</result></action></package></struts>
web.xml代码如下:<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"><display-name>Struts2</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern><!--/*任何URL都匹配,即都可以被访问--></filter-mapping></web-app>
在Eclipse中运行过程如下:按照上图输入,点击“SayHello”后,出现下面的错误信息:
解决方案
解决方案二:
Struts2的核心控制器应该是这个:<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>还有struts.xml默认在src下吧,你放到WEB-INF下面了。
解决方案三:
按照你说的进行了修改,但很郁闷的是还是一样的错误。
解决方案四:
publicStringexecute(Stringname)throwsException{return"success";}这个参数去掉,struts的方法不能带参数。
解决方案五:
已经把参数去掉了,还是不行啊,