如果不是出现的404找不到页面的错误,那就应该是viewuser.jsp 页面里的错误
解决方案 »
- Struts2是怎么与common-fileUpload解耦的?
- MyEclipse8如何实现自动创建struts2的action的Java(或class类)文件啊?
- hibernate Unknown entity: com.btg.model.UserInfo 错误
- freemarker 中遇到的的问题,哪位高手给解决下。THS
- JSP显示数据,在线=
- 经典问题,紧急求救!!!
- 救我,tomcat5.0 编译问题
- 网络编程,j2ee方面请各位大虾推荐一些好书
- 你们写简历的时候当写到Java的水平的时候该怎么写。
- 求帮写下后台和jsp页面的传值方法
- Axis+Tomcat:客户端如何接受服务器端返回的带附件的SOAP
- 我向学J2EE,请高手帮忙推荐几本好书
<%@ taglib uri="/struts-logic" prefix="logic"%>
<%@ taglib uri="/struts-bean" prefix="bean"%>
<%@ taglib uri="/struts-html" prefix="html"%>
<html:html locale="true">
<head>
<html:base/></head>
<body>
测试Struts
</body>
</html:html>
1, 看一下你的taglib代码
<%@ taglib uri="/struts-logic" prefix="logic"%>
<%@ taglib uri="/struts-bean" prefix="bean"%>
<%@ taglib uri="/struts-html" prefix="html"%>
很是不解.通常的做法是
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
并且把struts-bean.tld等tld文件拷进/WEB-INF目录.同时在web.xml下加以声明.web.xml声明如下
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib> <taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib> <taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>
2. form的action问题.
<html:form action="createuser.do" method="GET" >
应该改成是<html:form action="/createuser.do" method="GET" >
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Struts Application</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>port</param-name>
<param-value>7001</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping-->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- the Usual Welcome File List-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- Struts Tag Library Descriptors --> <taglib>
<taglib-uri>/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-html</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib> <taglib>
<taglib-uri>/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/struts-template</taglib-uri>
<taglib-location>/WEB-INF/tld/tld/struts-template.tld</taglib-location>
</taglib>
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.cstmail.login.Test</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/servlet/test</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
</web-app>
<%@ taglib uri="/struts-logic" prefix="logic"%>
<%@ taglib uri="/struts-bean" prefix="bean"%>
<%@ taglib uri="/struts-html" prefix="html"%>
<html:html locale="true">
<head>
<html:base/></head>
<body>
测试Struts
</body>
</html:html>这是test1.jsp
http://localhost/test/createuser.do?user.uid=yu&user.password=yu&user.age=0&submit=Submit
就会导致没有信息输出。
<action path="/createuser" type="com.cstmail.login.UserAction"
name="userForm" scope="request"
validate="true" input="/createuser.jsp">
<forward name="userCreated" path="/viewuser.jsp"/>
</action>
<!--注意这里了-->
你的配置是没有错的!出现空白页面是找不到你要转的页面。你这样修改:把:/createuser 修改为:/test/createuser 就可以了!是的你的path配置错了,/createuser的意思是:项目根目录的,但是你的页面是在根目录下的:test目录下,所以你的路径错了!呵呵!
path="/viewuser.jsp"/>
也要做相应的修改!
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Cannot retrieve mapping for action /createuser
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:721)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:417)
org.apache.jsp.createuser_jsp._jspx_meth_html_form_0(createuser_jsp.java:178)
org.apache.jsp.createuser_jsp._jspx_meth_html_html_0(createuser_jsp.java:123)
org.apache.jsp.createuser_jsp._jspService(createuser_jsp.java:83)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
<form-beans>
<form-bean name="userForm" type="com.cstmail.login.UserForm"/>
</form-beans> <global-forwards>
<forward name="userCreated" path="/test1.jsp"/>
</global-forwards>
<action-mappings>
<action path="/createuser" type="com.cstmail.login.UserAction"
name="userForm" scope="request"
validate="true" input="/test/createuser.jsp">
<forward name="userCreated" path="/test/test1.jsp"/>
</action>
</action-mappings>
<message-resources parameter="ApplicationResources"/>
</struts-config>
还是先前的错误,如果修改了path,连createuser.jsp都不出来