//RegisterAction.java
package app;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;public class RegisterAction extends Action{

public ActionForward excute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
)throws Exception{
System.out.println("hh");
ActionForward forward = new ActionForward();
RegisterForm rf = (RegisterForm)form;

String userName = rf.getUserName();
String passWord1 = rf.getPassWord1();
String passWord2 = rf.getPassWord2();

if(passWord1.equals(passWord2)){

forward = mapping.findForward("success");
}
else{
forward = mapping.findForward("failure");
}
return forward;
}

}//RegisterForm.java
package app;import org.apache.struts.action.ActionForm;
public class RegisterForm extends ActionForm {

private String userName;
private String passWord1;
private String passWord2;


public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}

public String getPassWord1() {
return passWord1;
}
public void setPassWord1(String passWord1) {
this.passWord1 = passWord1;
}
public String getPassWord2() {
return passWord2;
}
public void setPassWord2(String passWord2) {
this.passWord2 = passWord2;
}}//register.jsp
<%@ page language="java" pageEncoding="UTF-8" %> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> 
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <HTML> 
<HEAD> 
<TITLE>register</TITLE> 
</HEAD> 
<BODY> 
<P><html:form action="register.do"> 
用户名<html:text property="userName"></html:text><BR> 
密码1:<html:text property="passWord1"></html:text><BR> 
密码2:<html:text property="passWord2"></html:text><BR> 
 
<html:submit value="Register"></html:submit> 
</html:form></P> 
</BODY> 
</HTML> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
 
<struts-config> 
 
  <!--  --> 
  <data-sources> 
  </data-sources> 
 
  <!--  Bean --> 
  <form-beans> 
   <form-bean name="RegisterForm" type="app.RegisterForm"> 
   </form-bean> 
  </form-beans> 
 
  <!-- 全局异常 --> 
  <global-exceptions> 
  </global-exceptions> 
  
  <!-- 全局转发 --> 
  <global-forwards> 
  </global-forwards> 
  
  <!-- 操作映射 --> 
  <action-mappings> 
   <action path="/register" type="app.RegisterAction" name="RegisterForm" scope="request"> 
    <forward name="success" path="/success.jsp" />
    <forward name="failure" path="/failure.jsp" />
   </action> 
 <!-- 消息资源 --> 
<message-resources parameter="test.resources.ApplicationResources"/> 
</struts-config> //success.jsp
<%@ page language="java" pageEncoding="UTF-8"%> <html> 
<head> 
<title>注册成功</title> 
</head> 
<body> 
<p>注册成功</p> [code=Java]
<p><br><br><a href="register.jsp">再试一次?</a></p>
</body>
</html>
[/code]
//failure.jsp<%@ page language="java" pageEncoding="UTF-8"%>
<HTML> 
<HEAD> 
<TITLE>注册失败</TITLE> 
</HEAD> 
<BODY> 
<P>注册失败!</P> 
<P><BR> 
<BR> 
<A href="register.jsp">再试一次?</A> 
</P> 
</BODY> 
</HTML> 
问题在register.jsp提交请求之后,完全没有反应,地址栏已经跳到.do文件里面了,web.xml没贴确定内容正确。RegisterAcion里的打印语句没执行,所以怀疑RegisterAcionAction没执行,检查了半天也没检查出来

解决方案 »

  1.   

    wow                    好长  头晕
      

  2.   

    不用 怀疑 ,在Action中打印看看
    不对就是配置问题,哪个值没对应起来。
      

  3.   

    我想知道的是,你提交后的Register在struts-config.xml中是如何配置的?
    <html:submit value="Register"></html:submit> 
      

  4.   

    已经解决了  public ActionForward execute(ActionMapping mapping,
                                    ActionForm form,
                                    HttpServletRequest request,
                                    HttpServletResponse response
                                    )throws Exception{
            System.out.println("hh");
            ActionForward forward = new ActionForward();
            RegisterForm rf = (RegisterForm)form;
            
            String userName = rf.getUserName();
            String passWord1 = rf.getPassWord1();
            String passWord2 = rf.getPassWord2();
            
            if(passWord1.equals(passWord2)){
                    
                    forward = mapping.findForward("success");
            }
            else{
                forward = mapping.findForward("failure");
            }
            return forward;
        }就是那里写错了
      

  5.   

    <P><html:form action="register.do">没有路径吗?是不是应该写成
    <P><html:form action="/register.do">
    我感觉是这错了