我写了一个用户登录,但有些地方不知道该怎么写语法,请帮忙看看好吗?
我想要如果验证成功就到成功的页面,如果不成功就到失败页面.
public ActionForward login(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest req,
                                HttpServletResponse res) {
       XsBean bean = new XsBean();
       int flag;
       try {
         String id = req.getParameter("id");//用户名
         String mm = req.getParameter("mm");//密码
         flag=bean.checkUser(id, mm);
         if (flag == 1) {
           req.getSession().setAttribute("userName", id);
           String a = (String) req.getSession().getAttribute("userName");
           System.out.println("a is :" + a);
         }
         else
         {
//这里要怎么写
         }
       }
       catch (Exception e) {
         e.printStackTrace();
       }
        return mapping.findForward("login");
     }

解决方案 »

  1.   

    return mapping.findForward("failure");
    需要定义failure
      

  2.   

    if (flag == 1) {
               req.getSession().setAttribute("userName", id);
               String a = (String) req.getSession().getAttribute("userName");
               System.out.println("a is :" + a);
               return mapping.findForward("login");
             }
    else
           {
             return mapping.findForward("fail");
           }
      

  3.   

    if (flag == 1) {
               req.getSession().setAttribute("userName", id);
               String a = (String) req.getSession().getAttribute("userName");
               System.out.println("a is :" + a);
               return mapping.findForward("login");
             }
    else
           {
             return mapping.findForward("fail");
           }
    这种写法我写了,但它会报错,提示没有返回值的
      

  4.   

    回复:
    return mapping.findForward("failure");
    需要定义failure怎么定义failure
    我不会具体写的格式,如果
    String login="success";
    return mapping.findForward("login");
    这样写应该也找不到success,而还是去找login了
      

  5.   

    返回的只是一个转发,你要到struts-config里面去配置相应的路径
      

  6.   

    我知道,struts-config里面已经配置了,
    <forward name="loginsuccess" path="/jsp/student/xsLogin.jsp" />
    <forward name="loginfailing" path="/jsp/student/xsList.jsp" />
    我主要是不知道那个action里要怎么定义那个login
      

  7.   

    我就是不知道给login定义两个变量的具体语法格式应该怎么写
      

  8.   

    return mapping.findForward("loginsuccess");return mapping.findForward("loginfailing");
      

  9.   

    如果在if和else里分别写两个forward,它会提示没有返回值的,我现在想知道如何定义两个变量给这个login,最后仍然只有一个return mapping.findForward("login");
      

  10.   

    大侠,forward只是一个转发的名称而已,你用了就要在struts-config里面配置的,不能照你那样赋值
      

  11.   

    那怎么办呀,写
    return mapping.findForward("loginsuccess");return mapping.findForward("loginfailing");
    它会出错
      

  12.   

    看来楼主是很新的手啊,我给你解public ActionForward login(ActionMapping mapping,
    ActionForm form,
    HttpServletRequest req,
    HttpServletResponse res) {
    XsBean bean = new XsBean();
    int flag;
    try {
    //我加的定义转向
    ActionForward forward = new ActionForward();
    //我加的,墨认失败
    forward = mapping.findForward("loginfailing");
    String id = req.getParameter("id");//用户名
    String mm = req.getParameter("mm");//密码
    flag=bean.checkUser(id, mm);
    if (flag == 1) {
    req.getSession().setAttribute("userName", id);
    String a = (String) req.getSession().getAttribute("userName");
    System.out.println("a is :" + a);
    //我加的,如果成功
    forward  mapping.findForward("loginsuccess");
    }
    else
    {
    //这里不用写什么了,也可以写,墨认失败
    //这里要怎么写
    }
    }
    catch (Exception e) {
    //这里不用写什么了,也可以写,墨认失败
    e.printStackTrace();
    }
    return forward  ;}你提示没返回是因为每个分支都要定义返回的,你if else定义了,但是catch中没定义
      

  13.   

    哦,该下前面
    try {
    //我加的定义转向
    ActionForward forward = new ActionForward();
    //我加的,墨认失败
    forward = mapping.findForward("loginfailing");该成,放try前面//我加的定义转向
    ActionForward forward = new ActionForward();
    //我加的,墨认失败
    forward = mapping.findForward("loginfailing");try {