首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

Struts标签html:errors没有显示信息

2014-01-26 
我在登录LogonAction类中对用户进行口令验证代码如下:ActionErrors errors new ActionErrors()//if (!Ba

我在登录LogonAction类中对用户进行口令验证代码如下:
  ActionErrors errors = new ActionErrors();
  //
  if (!BaseProjectDAO.instant(httpServletRequest, ahptcVO).
  validateUser()) { //验证用户口令
  errors.add(ActionErrors.GLOBAL_ERROR,
    new ActionError("error.logon.mismatch"));//设置出错信息
  }
  if (!errors.isEmpty()) {
  saveErrors(httpServletRequest, errors);
  return (new ActionForward(actionMapping.getInput()));//返回登录页面
  }
  问题:我在输入错误的口令返回登录页面后html:errors没有显示信息,  该怎么解决啊(Logon.jsp用了<html:errors/>有问题吗?)

------解决方法--------------------------------------------------------
  你的“request”里没有包含
  “error”对象,   
------解决方法--------------------------------------------------------
jsp里加上
  <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>   
------解决方法--------------------------------------------------------
错误情况下error return了吗?

------解决方法--------------------------------------------------------
  我倒是不明白你说的了,
  你的“request”里没有包含
  “error”对象,
 
 
  saveErrors(httpServletRequest, errors) 不是已经把“error”放进‘request’了。
  我倒是看不出有什么问题了。
 
  或者写成的
  errors.add(“testkey”,
    new ActionError("error.logon.mismatch"));
 
  JSP:
  <html:errors property="testkey">
 
  在applicationresource.properties里要放
  error.logon.mismatch= "dfsfjaslfds"
  试试
 
------解决方法--------------------------------------------------------
getInputForward() 是相应于 action配置的 input property值。
  getInput()是在validation有actionErrors里返回到进入这个Controller的forward
------解决方法--------------------------------------------------------
你return 的forward并不是保存有httpRequest(见saveErrors(httpServletRequest, errors);)的forward, 所以虽然你返回到页面,但返回并没有带有原来的request, 而是你新建的,所以……
 

        

热点排行