• struts1-mapping.getInputForward()与mapping.getInput


    转自:https://www.cnblogs.com/azai/archive/2010/06/05/1752416.html

    奇怪为什么登陆失败的时候 没有错误提示.这个问题困扰了N久

    仔细看了下,发现在处理登陆失败情况跳转的页面 原代码用的是mapping.getInputForward();
    断点跟踪了一下 这句运行好以后
    mapping.getInputForward();是个什么东西?!百度了下原来和这个是
    获取action当中input中的值对应的地址

    <action  path="/test"   
                  type="org.apache.struts.webapp.example.TestAction"   
                  name="testForm"   
                  scope="request"   
                 input="testInput">   
    <forward   name="testInput"                   path="/testInput.jsp"/>   
    </action>  
    getInputForward();获取的就是action中input里的testinput,通过testinput又找到forward里这个别名对应的path/testInput.jsp
    mapping.getInput()获取的是action中input里的testinput字符串
    到这里一切就明了了.

    为什么用mapping.getInputForward();了以后就没有错误提示信息呢 因为struts里没有input的配置
    配置..运行..OK

    loginAction代码
    public ActionForward login(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response) {
      MemLoginForm memLoginForm = (MemLoginForm) form;
      MemDAO service = new MemDAOImpl();
      ActionForward forward = null;
      ActionMessages msgs = new ActionMessages();
      try{
       Member mem = service.memLogin(memLoginForm.getLoginName(), memLoginForm.getLoginPwd());
       if (mem!=null){
        request.getSession().setAttribute("member", mem);
        forward = new ActionForward("/mer.do?method=browseIndexMer");
       }else{
        //等价语句
        //forward = new ActionForward("/mer.do?method=browseIndexMer");
        forward = mapping.getInputForward();
        msgs.add("loginError",new ActionMessage(Constants.ADMIN_LOGINERROR_KEY));
        saveErrors(request, msgs);
       }
      }catch(Exception ex){
       logger.info("在执行LoginAction类中的login方法时出错: ");
       ex.printStackTrace();
      }
      return forward;
    }
    转载自:http://www.tiansky.net:8892/DBbbs/viewthread.jsp?tid=236&extra=page%3D1

  • 相关阅读:
    AsyncTask类
    linux下带有空格的文件怎么删除
    python 获取指定文件夹的大小
    python 无法获取隐藏文件夹中的文件列表
    LINK : fatal error LNK1104: 无法打开文件“libboost_serialization-vc90-mt-gd-1_62.lib”
    解决错误 fatal error C1010: unexpected end of file while looking for precompiled head
    PCH Warning: header stop cannot be in a macro or #if block.
    C++ Boost在VS2015中的使用
    dev-c++ boost库的安装
    python 获取命令行输出结果
  • 原文地址:https://www.cnblogs.com/sharpest/p/5821597.html
Copyright © 2020-2023  润新知