转自: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方法时出错:\n");
   ex.printStackTrace();
  }
  return forward;
}
转载自:http://www.tiansky.net:8892/DBbbs/viewthread.jsp?tid=236&extra=page%3D1

struts1-mapping.getInputForward()与mapping.getInput的更多相关文章

  1. NHibernate系列文章二十七:NHibernate Mapping之Fluent Mapping基础(附程序下载)

    摘要 从这一节起,介绍NHibernate Mapping的内容.前面文章都是使用的NHibernate XML Mapping.NHibernate XML Mapping是NHibernate最早 ...

  2. NHibernate系列文章二十八:NHibernate Mapping之Auto Mapping(附程序下载)

    摘要 上一篇文章介绍了Fluent NHibernate基础知识.但是,Fluent NHibernate提供了一种更方便的Mapping方法称为Auto Mapping.只需在代码中定义一些Conv ...

  3. 第一个Struts1步骤

    一.前端 :登陆页面 index.jsp <%@ page language="java" import="java.util.*" pageEncodi ...

  4. Struts1防止表单重复提交

    package org.zln.struts.action; import org.apache.struts.action.Action; import org.apache.struts.acti ...

  5. Struts1表单校验

    ActionForm中对表单元素进行校验 @Override public ActionErrors validate(ActionMapping mapping, HttpServletReques ...

  6. elasticsearch 之mapping

    搭好elk 后,有时候会发现kibana 统计数据时,数据类型不对,这个时候就和elasticsearch的mapping有关,虽然我们可以用logstash修改传入es里的数据类型,比如 float ...

  7. KnockoutJS 3.X API 第八章 映射(mapping)插件

    Knockout旨在允许您将任意JavaScript对象用作视图模型. 只要一些视图模型的属性是observables,您可以使用KO将它们绑定到您的UI,并且UI将在可观察属性更改时自动更新. 大多 ...

  8. knockoutJS学习笔记09:使用mapping插件

    一.问题引出 通常,我们先定义好html结构或者模板,通过ajax向后台发起请求,后台返回json数据,然后再将json数据渲染到页面上.以博客园个人博客里的个人信息为例子,如图: 1.定义html. ...

  9. Tutorial - Deferred Rendering Shadow Mapping 转

    http://www.codinglabs.net/tutorial_opengl_deferred_rendering_shadow_mapping.aspx Tutorial - Deferred ...

随机推荐

  1. java菜鸟笔记(一)

  2. host capability

    目前通过ComputeCapabilitiesFilter 是可以做到cpu 指令集的filter,ComputeCapabilitiesFilter 是通过flavor的extra_spe来传递的. ...

  3. neutron 虚拟机网络问题调试

    1. Security Group全部打开,这是最基本的,但是很多人容易忘记 2. 通过界面查看虚拟机的log,也可以在compute节点上查看console.log文件,看看里面是否有DHCP获取I ...

  4. c++ STL库deque和vector的例子

    头文件wuyong.h: #pragma once #include<iostream> #include<vector> #include<deque> #inc ...

  5. ActiveMQ 的客户端选项

    本章重点 怎么使用独占式消费者 消息分组的威力 理解流和二进制大对象 容错传输 计划消息分发 简介 上一章我们介绍了 ActiveMQ 的代理特性,本章我们将学习 ActiveMQ 客户端的一些高级特 ...

  6. C++初始化小问题

    #include<; } 发现,没有对string进行初始化,就已经默认可以使用,并且是空串,一直用java,对c++不熟悉.搜索了下,发现在c++中,只要对对象进行了定义,如果没有初始化,就会 ...

  7. JS解析+预解析相关总结

    [js预解析机制]先来说说js的解析机制吧,浏览器在解析js代码时是从上到下解析的.解析顺序如:(1)预解析    找var和function (2)逐行代码解析    表达式    函数调用     ...

  8. QBZT Day3(zhx ak IOI)

    动态规划 DP和前几天学的东西不大一样,动态规划和数据结构相比是一个非常抽象的东西 先来看看斐波那契数列 定义是F0=0,F1=1,Fn=F(n-1)+F(n-2) 0,1,1,2,3,5,8,13, ...

  9. android问题 This version of android studio is incompatible with the gradle version used.

    http://blog.csdn.net/sinat_15417921/article/details/51907728 问题背景 因为项目app分包需要,将工程的graddle版本升至了2.2.0 ...

  10. 格式化SQL和逆格式SQL

    上篇说过SQLyog中的计算合适数据类型的功能,现在说下Navicat格式化SQL和逆格式化SQL 啥也不说了,一看图,一目了然,Beautify SQL(格式化,即变成最美的语句)和Minify S ...