转自: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. 查找和删除倒数第n个节点的问题

    class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } public class NthNodeFromEnd ...

  2. 虚拟机CentOS7网络配置

    *关于查看IP信息 window中是 ipconfig Linux一般都是 ifconfig 不过CentOS7中  这个命令发生了更改 :ip addr 设置网络 再新建虚拟机向导过程中,有一步[网 ...

  3. QMouseEvent 的坐标__Win

    1. QMouseEvent.x() 和 QMouseEvent.y() 是窗口里面的坐标,相当于 Windows API 里面的 ClientX和ClientY . 2. QMouseEvent.G ...

  4. nova cell配置

    Configuration option = Default value Description [cells] call_timeout = 60 (IntOpt) Seconds to wait ...

  5. js建造者(生成器)模式

    建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成. 建造者模式类图: ...

  6. 【R】数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)

    函数 read.table 是读取矩形格子状数据最为便利的方式.因为实际可能遇到的情况比较多,所以预设了一些函数.这些函数调用了 read.table 但改变了它的一些默认参数.  注意,read.t ...

  7. LeetCode OJ:Convert Sorted Array to Binary Search Tree(将排序好的数组转换成二叉搜索树)

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 讲一 ...

  8. @angular/cli项目构建--Dynamic.Form(2)

    form-item-control.service.ts update @Injectable() export class FormItemControlService { constructor( ...

  9. 剑指offer--13.二进制中1的个数

    就是猜测试数据没有负数,哈哈 ----------------------------------------------------------------- 时间限制:1秒 空间限制:32768K ...

  10. canvas基础学习(二)

    一.图像绘制 canvas绘制图像的方法是ctx.drawImage();该方法有三种使用方式 1.ctx.drawImage(img,x,y); img是指图像对象,x和y分别是这个图像左上角在ca ...