关于errors.add()的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 06:21:14
errors.add("password",new ActionError("login.passwordnull"))
我想知道上述函数中参数password有什么用,我看有的代码写的参数是null。
还有函数saveErrors(request,errors);是什么意思,我不明白它为什么要保存,保存到哪里?

Struts框架中,网页的错误标签都是由<html:errors/>标签实现和负责的。
<html:errors/>标签在request和session的范围内寻找ActionMessages(或者其子类ActionErrors)集合对象,再从ActionMessages集合对象中读取ActionMessage对象,把ActionMessage对象包含的消息文本显示到网页上。

<html:errors/>标签还有很多属性,诸如name,propertity,bundle等;
在向ActionMessages 或者ActionErrors对象中添加子对象(ActionMessage,ActionError)使用的方法是:
ActionMessages.add(java.lang.String property,ActionMessage message);
而<html:errors/>标签在读ActionMessages或者ActionErrors对象时,使用name属性帮助用户显示和String property 相匹配的信息。
如果<html:errors/>标签没有规定name属性,那么显示的将是默认的 Globals.ERROR_KEY对应的消息。

这个是我学习的一点心得,楼主见笑。
o saveErrors(request,errors)的意思呢,是将你的errors集合对象存放到request的范围内,以便你在jsp页面中的<html:errors/>读取和显示。

login.passwordnull 应该在资源文件中有定义.例如:

login.passwordnull=密码不能为空

saveErrors(request,errors);这个不清楚,我也正在学习.