最近,做过struts和hibernate的项目,出现了个奇怪的问题,登录页面填上用户名密码后转向,结果成了空白页面,也没有什么错误提示,怎么解决啊
这是login.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<html> 
<head>
<title>JSP for loginForm form</title>
</head>
<body>
 <H4> 欢迎登录 </H4>

<form action="login.do" method="post">
 用户名:<input type="text" name="username" /><br>
 密码:<input type="password" name="password" /><br>
 <input type="hidden" name="method" value="login" />
<input type="submit"  name="submit" value="Login" />
</form>
</body>
</html>
这是struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="loginForm" type="com.ebook.struts.form.LoginForm" />
</form-beans>
<action-mappings>
    <action attribute="loginForm"
      name="loginForm"
      parameter="method"
      path="/login"
      scope="request"
      type="com.ebook.struts.action.LoginAction">
      <forward name="login" path="/login.jsp" />
 </action-mappings>
</struts-config>
    
  这是Action类:public class LoginAction extends DispatchAction {
public ActionForward login(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
System.out.println("dfs");
request.getSession().removeAttribute("loginUser");
LoginForm loginForm = (LoginForm) form;
// TODO Auto-generated method stub
System.out.println("dfs");
List list = getEBookStore().getUserService().findUserByNameandPwd(loginForm.getUsername(),loginForm.getPassword());
 UserInfo user = null;
  if(list==null||list.size()==0){
  request.setAttribute("message","登录失败!");
  return mapping.findForward("failure");
  }
  else {
  user = (UserInfo)list.get(0);
  }
  request.getSession().setAttribute("loginUser",user);
return  mapping.findForward("success");
}
}
以下是日志:
setProperty(com.ebook.struts.form.LoginForm@f801c4, submit, [Login])
936594 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils     -   setProperty(com.ebook.struts.form.LoginForm@f801c4, method, [login])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.BeanUtils     -   setProperty(com.ebook.struts.form.LoginForm@f801c4, password, [dfd])
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils     - Convert string 'dfd' to class 'java.lang.String'
936609 DEBUG [http-8080-Processor25] org.apache.commons.beanutils.ConvertUtils     -   Using converter org.apache.commons.beanutils.converters.StringConverter@bc9f58
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor     -  Validating input form properties
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor     -   No errors detected, accepting input
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor     -  Looking for Action instance for class com.ebook.struts.action.LoginAction
936609 DEBUG [http-8080-Processor25] org.apache.struts.action.RequestProcessor     -   Returning existing Action instance
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase     - Start expire sessions StandardManager at 1225180725671 sessioncount 1
942140 DEBUG [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.ManagerBase     - End expire sessions StandardManager processingTime 0 expired sessions: 0
怎么解决啊

解决方案 »

  1.   

     <forward name="login" path="/login.jsp" />
    没有配
      

  2.   

    <forward name="success" path="/login.jsp" />
      

  3.   

    mapping.findForward("success"); 你是指向success 如果没有,就会指向空白的页面。
      

  4.   

    Action中有两个返回:
    return mapping.findForward("failure");
    return  mapping.findForward("success");struts-config.xml没有配置
    <forward name="success" path="/succss.jsp" /> 
    <forward name="failure" path="/login.jsp" /> 
     
    然后再去编写对应的两个JSP页面~
      

  5.   

    你的struts中的 <forward name="login" path="/login.jsp" />你的程序里面的
    return  mapping.findForward("success");这里你的这个配置到哪里去了?
    你的<forward name="...."....>怎么也得配置一个你的成功的转向啊.
    比如:
    <forward name="success" path="/login.jsp" />
      

  6.   

    你有没有发现你在Action类中
    return  mapping.findForward("success");
    但你在struts-config.xml文件中
    对这个<forword name="success" path="/login.jsp">配置没,
    没有,所以才会出现空白页情况!
      

  7.   

    对不起了,我的success,failure在配置了,没贴出来,但还是不能运行啊
      

  8.   

    <input type="submit"  name="submit" value="Login" />帅哥,表单里面不要有name属性为submit的控件:)
      

  9.   

    struts-config.xml
    里面加个属性为success的转向页面
      

  10.   

    空白页很简单,就是 foword属性值没有对应声上,或者是没有跳转指定的页面,问题不奇怪,细心点就解决了