刚开始学 什么都不会 做了个登录注册的页面 想在登录页面输入之后验证数据库中是否有信息,如果用户名密码正确 跳转到success页 如果不正确 返回登录页 并提示用户名密码不正确 
搜了无数个网页 实在不知道怎么写了。恳请指点
action:
public class UserLoginAction extends Action {
Logger logger = Logger.getLogger(UserLoginAction.class); public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserLoginForm userLoginForm = (UserLoginForm) form;

String name = userLoginForm.getName();//从userLoginForm中获取用户名称
String password = userLoginForm.getPassword();//从userLoginForm中获取密码

DBConnect db = new DBConnect();//创建DBConnect对象
if (db.verifyLogin(name, password)){//验证用户名,密码在数据库中是否存在
return mapping.findForward("success");//如果存在,跳转到"success"对应的jsp页面
} request.getSession().setAttribute("flag", false);

System.out.println("it's run here.");


return mapping.findForward("failure");//如果验证失败,跳转到"failure"对应的jsp页面

}


jsp: 
function check(flag){
   if(flag!="null"){ //第一次访问该页面时request.getAttribute("flag")一定为null值
    if(flag.length==0){ 
     alert('用户名或密码错误');
    }
   }
  }
</script>
<%
  String flag = (String) request.getAttribute("flag");
  request.setAttribute("flag", null);
 %>
<body id="login" onload="check('<%=flag%>')">
<div id="login-wrapper" class="png_bg">
  <div id="login-top">
    <h1>Simpla Admin</h1>
    <!-- Logo (221px width) -->
    <a href="userLogin.jsp"><img id="logo" src="images/other/logo.png" alt="Simpla Admin logo" /></a> </div>
    <!-- End #logn-top -->  <div id="login-content">
    <form name="userLoginForm" action="userLoginAction.do" method="post">
 
      <div class="notification information png_bg">
        <div> Please enter your name and password. </div>
      
      </div>
            <p>
        <label>Username</label>
        <input class="text-input" type="text" name="name" maxlength="15"/>
      </p>
      <div class="clear"></div>
      <p>
        <label>Password</label>
        <input class="text-input" type="password" name="password"/>
      </p>
      <div class="clear"></div>
      <p>
        <input type="button" class="button" value="Sign In" onclick="checkSubmit()" />
      </p>
      <p>
        <input type="button" class="button" value="Register" onclick="javascript:location.href='userRegister.jsp'"/>
      </p>
      
    </form>
}

解决方案 »

  1.   

    action 中配置两个forward 一个正确页面,一个error 页面
    如果错误action 中将错误信息放在session 中,
    在登陆界面显示就行了,
    也可用struts 的验证框架完成 。
      

  2.   

    struct1 action传值只需 request.setAttribute("key",value)就行了jsp上${key}就可以获得。。
      

  3.   

    ${key}写在jsp的哪块呢?我是想实现如果验证完错误了 弹出一个alert 提示
    具体怎么写啊
      

  4.   

    你应该在action中,定义:
    private String key;(然后写上get,set)。
    然后把public ActionForward execute改为public String execute,
    execute方法最后return “success”。
    你的return mapping.findForward("success");改为:key = "/fail.jsp";和key = "/success.jsp"
    最后,在struts.xml中的rerult是<result name="success">${uri}</result>这样自动能找到对应的成功页和失败页。
      

  5.   


    不好意思,我写错了,最后一句应该是:
    最后,在struts.xml中的rerult是<result name="success">${key}</result>
      

  6.   

    我遇到的问题是,JSP页面的值传不进action里面,目前找不到问题源头.
    自己写过好些这个例子,都是OK的,不过现在就是读不出来  郁闷