web.xml中是否有这样的配置?<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>WebModule1</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<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>
</jsp-config>
</web-app>
System.out.println("aaaaaaaaaaaaaaaa");后台都没看见输出哦
这两个地方要配置一样 名都不一样怎么能行呀 看后郁闷
呵
这两个地方要配置一样 名都不一样怎么能行呀 看后郁闷
===============
这里还是楼主是对的
<form-beans>
<form-bean name="HelloForm" type="app.HelloForm" />
</form-beans>
中的name吗??
这个有问题 form的action属性对应的就是action的path.应该改为:
<html:form action="/HelloWorld">
或者
<form action="/WebModule1/HelloWorld.do" ></form>还有就是觉得你的action中:
<forward name="SayHello" path="/hello.jsp" /> 也有问题.
path="/hello.jsp" 这样写转到的估计是: http://localhost:8080/hello.jsp
action代码
package app;import org.apache.struts.action.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public final class StrutsAction extends Action {
public ActionForward excute(ActionForm form, ActionMapping mapp,
HttpServletResponse res, HttpServletRequest re) {
System.out.println("aaaaaaaaaaaaaa");
HelloForm rs = (HelloForm) form;
String UserName = rs.getUserName();
PersonBean pb = new PersonBean();
pb.setUserName(UserName);
re.setAttribute("personbean", pb);
return mapp.findForward("SayHello");
}}
form代码
<%@ page contentType="text/html; charset=GBK" %>
<%@ 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" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html:html>
<head> </head>
<body>
<logic:present name="personbean" scope="request"> hello
<bean:write name="personbean" property="userName"/>
</logic:present>
<html:form action="/HelloWorld.do">
<html:text property="userName"> </html:text>
<br/>
<html:submit value="tijiao"> </html:submit>
</html:form>
</body>
</html:html>
HttpServletResponse res, HttpServletRequest re) {你这里错了吧, excute 这个方法这里,我记得是execute.
<html:form action="/HelloWorld.do">
把/去掉试试
2.jsp中应该是<html:text property="userName" name="HelloForm">,你忘了写HelloForm了,否则jsp不知道去找哪个form来处理啊
3.看看各个文件是否在相应的目录:
src\app\actions\StrutsAction.java
src\app\forms\HelloForm.java
\WEB-INF\hello.jsp
private String userName;
public String getUserName(){
return userName;
}
public void setUserName(String userName){
this.userName = userName;
}注意大小写
一定要在IE中查看错误提示,有些开发环境中带的浏览器的错误提示或错误页面有误导。
我想楼主如果在集成开发环境下开发的话,应该很快就能找出错误。要细心。