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

struts中玩起很不爽的html:errors

2014-01-26 
public ActionErrors validate(ActionMapping actionMapping,HttpServletRequest httpServletRequest) {Act

public ActionErrors validate(ActionMapping actionMapping,
    HttpServletRequest httpServletRequest) {
  ActionErrors errors=new ActionErrors();
  if(this.user==null||this.user.length()==0)
  errors.add("username",new ActionError("error.missing.user"));
  if(password==null||password.length()==0)
  errors.add("password",new ActionError("error.missing.password"));
  return errors;
  }
 
  #Application Resource for the logon.jsp
  logon.jsp.title=The logon page
  logon.jsp.page.heading=Welcome World!
  logon.jsp.prompt.username=Username:
  logon.jsp.prompt.password=Password:
  logon.jsp.prompt.submit=Submit
  logon.jsp.prompt.reset=Reset
 
  #Application Resource for the main.jsp
  main.jsp.title=The main page
  main.jsp.welcome=Welcome:
 
  #Validation and error messages for jsp4.jsp
  error.missing.user=user is error!!!
  error.missing.password=password is error!
 
  以上配置都正确
 
  //这种方式可以将错误信息全部打印出来
  <html:errors/>
 
 
  //下面这两种方式为什么打印不出来,也没提示错误
  <html:errors property="error.missing.user" />
  <html:errors name="username" property="error.missing.user" />
 
  那位能够解答一下!  
 

------解决方法--------------------------------------------------------
<html:errors>标记能够与ActionErrors结合在一起来显示错误信息。这个标记首先要从当前区域的资源文件中读取消息关键字errors.header,然后显示消息的文本。接下去它会在ActionErrors对象(通常作为请求参数而存储在Action.ERROR_KEY关键字下)中循环,读取单个ActionError对象的消息关键字,从当前区域的资源文件中读取并格式化相应的消息,并且显示它们。然后它读取与errors.footer关键字相对应的消息并且显示出来。
  通过定义property属性能够过滤要显示的消息,这个属性的值应该与ActionErrors对象中存储ActionError对象的关键字对应。
  <html:errors/>
  显示集合中所有的错误。
  <html:errors property=”missing.name”/>
  显示存储在missing.name关键字的错误。
  所以property="error.missing.user"有问题,或者先用<html:errors/>试一下。
  希望能有帮助
------解决方法--------------------------------------------------------
建议看一下这个TAG对应的bean
  我没有看过,因为我没有想到过这个问题
------解决方法--------------------------------------------------------
<html:errors name="username" property="error.missing.user" />
  改成<html:errors property="username" />
------解决方法--------------------------------------------------------
的确很不爽.我一般的做法是出错的页面 用new Action Forword()然后在这个url后边加上一个参数。根据不同的错误给这个参数不同的值,到页面中取出来用js的alert显示出来。

        

热点排行