专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Exception

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

发布时间:2010-06-05 12:32:42 文章来源:www.iduyao.cn 采编人员:星星草

我在登录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, 而是你新建的,所以……
 

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: