login.jsp<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 
<html> 
<head>
<title>管理员登陆界面</title>
</head>

<body>
    <html:javascript formName="loginForm" />
<html:form action="/login" onsubmit="return validateLoginForm(this)">
<html:hidden property="method" value="login"/>
用户名 : <html:text property="username"/><html:errors property="username"/><br/>
密&nbsp &nbsp&nbsp码 : <html:password property="password"/><html:errors property="password"/><br/>
<html:submit/><html:cancel/>
</html:form>
<br>
<a href="<c:url value="/input.jsp" />"> 请您留言</a> 
</body>
</html>

解决方案 »

  1.   

    struts-config.xml<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config>
    <form-beans>
    <form-bean name="guestbookForm"
    type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="title" type="java.lang.String" />
    <form-property name="content" type="java.lang.String" />
    <form-property name="url" type="java.lang.String" />
    <form-property name="email" type="java.lang.String" />
    <form-property name="name" type="java.lang.String" />
    </form-bean>
    <form-bean name="loginForm"
    type="org.apache.struts.action.DynaActionForm">
    <form-property name="username" type="java.lang.String" />
    <form-property name="password" type="java.lang.String" />
    </form-bean>
    </form-beans> <global-exceptions />
    <global-forwards> <forward name="guestbook.display" path="/display.jsp" />
    <forward name="guestbook.edit" path="/edit.jsp" />
    <forward name="guestbook.admin" path="/admin.jsp" />

            <forward name="guestbook.login.fail" path="/fail.jsp" 
            redirect="true" />
            <forward name="guestbook.admin.index"
             path="/guestbook.do?method=admin"  redirect="true" />
    <forward name="guestbook.admin.login" path="/login.jsp"
    redirect="true" /> </global-forwards> <action-mappings>
    <action attribute="guestbookForm" input="/input.jsp"
    name="guestbookForm" parameter="method" path="/guestbook"
    scope="request"
    type="org.springframework.web.struts.DelegatingActionProxy"
    validate="false" />
        
             <action
          attribute="loginForm"
          input="/login.jsp"
          name="loginForm"
          parameter="method"
          path="/login"
          scope="request"
          type="org.springframework.web.struts.DelegatingActionProxy"
          validate="false" />
    </action-mappings> <message-resources
    parameter="com.huahua.guestbook.web.ApplicationResources" /> <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
    value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validations.xml" />
    </plug-in> <plug-in
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/action-servlet.xml" />
    </plug-in></struts-config>
      

  2.   

    LoginAction中的login beanpublic ActionForward login(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    DynaValidatorForm loginForm = (DynaValidatorForm) form;
    // System.out.println((String) loginForm.get("username"));
    boolean result = admin.validate((String) loginForm.get("username"),
    (String) loginForm.get("password"));
    if (result==true) {
    HttpSession session = request.getSession();
    session.setAttribute("guestbook.admin.username", loginForm
    .get("username"));
    return mapping.findForward("guestbook.admin.index"); } else {
    return mapping.findForward("guestbook.login.fail");
    }
    }
    GuestbookAction 中的 admin beanpublic ActionForward admin(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
            
    if(LoginAction.validate(request,response)==false){
    return mapping.findForward("guestbook.admin.login");
    }
    List list = guestbookManager.getGuestbooks();
    request.setAttribute("guestbook.articles", list);
    return mapping.findForward("guestbook.admin");
    }根据推断:理应转到guestbook.admin所对应的admin.jsp
    但是它只是转到/login.do

    why???
      

  3.   

    应该学会自己调试,实在不行你就system.out,看程序走没有走到你要跳转的前一步
      

  4.   

    楼主说的“为什么我提交登陆后总是转不到我要的页面  ”
    能简单的描述一下吗,出现什么情况
    是点击提交登录后页面出现转向的不一样你说的转向“/login.do ”这个页面“<html:form action="/login" onsubmit="return validateLoginForm(this)"> ”
    这样看是是出错之后回到登陆页面,楼主检查一下validateLoginForm(this)"> 
      

  5.   

    借宝地 打广告
    JAVA群:52365382
    欢迎大家 作指导 互相学习 进步
      

  6.   

    楼主是个小人。看看这篇帖子的给分情况就知道他们两个帐号在倒腾:
    http://topic.csdn.net/u/20090501/22/3689f0e2-0e11-4290-b48b-0b17fe82f715.html我要看看最后的给分情况。
      

  7.   

    lz 查看一下你的Action 所继承的类有没写错 Action 改为 DispatchAction 
     
    因为你的表单不仅需要validate还需要转到另一页面,上次我也是这样!!!
      

  8.   

    System.out 
    一步步看吧 , 别是你的filter 过滤器出问题了....
      

  9.   

     path="/guestbook.do?method=admin" 
    改成
     path="/admin.jsp" 
    试试
      

  10.   

    看下你需要转换的路径设计好没?web.XMl配置也需要看下!
      

  11.   

    <html:form action="/login" onsubmit="return validateLoginForm(this)"> 
    不知道你web.xml是怎么配的,不过不能加"/"
      

  12.   

    action要继承dispacherActhion 楼主估计没给方法传参
      

  13.   

    <html:form action="/login?method=login" onsubmit="return validateLoginForm(this)">