IT人
相关图书

html:messages和html:errors的区别

所属分类:Java 框架、开源
-----------------------------------------

看了好多的资料上说,html:messages是1.1以后出现的。而且html:errors(还是说html:error呢?不详!) 已经不再建议使用了。但是我怎么感到html:messages并没有html:errors好用、方便呢?在jsp中显示错误信息只要一个<html:errors/>就可以了,可是用html:messages就麻烦多了。

另外,用html:messages单独显示个别的信息怎么不可以呢,不知道我写的哪里有问题?!!

ActionMessages attackMessages = new ActionMessages();
    ActionMessages attackMessages2 = new ActionMessages();
    ActionMessage attackMessage = new ActionMessage(
      "error.sqlAddError");
    ActionMessage attackMessage2 = new ActionMessage(
      "message.attackdesc");
    ActionMessage attackMessage3 = new ActionMessage(
      "message.attackdesc");
    attackMessages.add("sqlAdd1", attackMessage);
    attackMessages.add("sqlAdd2", attackMessage2);
    attackMessages2.add("sqlAdd3", attackMessage3);
    attackMessages.add(attackMessages2);
    request.setAttribute("sqlAdd", attackMessages);

//     saveMessages(request, attackMessages);

-----------------------------------------------------------------------------------------、

jsp:

 <logic:messagesPresent message="false">
    <ul>
    <html:messages id="eeer" name="sqlAdd" message="false" > 
     <li>
      <bean:write name="eeer" />
     </li>
     </html:messages>
     </ul>
   </logic:messagesPresent>

------------

为什么不可以显示错误信息呢。补充:error.sqlAddError等在资源文件中均有定义。而且用html:errors是可以的。而且如果用saveMessages(request, attackMessages);将jsp中改为    <html:messages id="eeer"  message="true" > 也是可以的。

我的问题就是怎么样可以用自定义的    request.setAttribute("sqlAdd", attackMessages);在jsp中显示出信息!!


----------------------------------------------------------------------

顶下,怎么没人知道吗?

--------------------------------------------------------

messages信息对应的struts框架管理的资源对象
肯定不能自己request.setAttribute("sqlAdd", attackMessages);这样
要这样的话你就是自己控制错误信息了,而且是不可行的
我觉得这不麻烦呀

--------------------------------------------------------

但是我怎么感到html:messages并没有html:errors好用、方便呢?
----------------------------------------------------------
用html:messages标签进行国际化比较方便,用html:errors好像比较麻烦一点!
只知道这么一点点了!

--------------------------------------------------------

用什么Struts呀,麻烦

--------------------------------------------------------

我用的就是<html:errors/>,主要是校验用的,感觉超好用.楼上有说国际化比较麻烦,但我的项目就是国际化的,觉的国际化非常好用,没有任何麻烦的地方.

--------------------------------------------------------

上面说的只是我的个人观点,不权威,ls别当真哦!!

用<html:messages>做国际化 只需要把  ApplicationResources.properties 文件编译成所需要的语言就可以,我没有用<html:errors>做过....


--------------------------------------------------------

多谢各位的回复,但是我还是不明白到底什么情况下使用messages什么情况下使用errors!struts开发者取消error(好像是html:error而非html:errors,不知我理解的是否正确)的初衷是什么啊??我以为从字面来看massages就是用于一些信息提示(并非错误提示),而errors则专门用于错误提示。而两者的使用方法基本上是一样的,我指的是add,save等。但后来新版本又为何只留下了massages呢????????严重困扰!!
   另外,我所说<html:messages>较<html:errors/>麻烦,是指如果同样在jsp显示一个错误只消用一个<html:errors/>就搞定了。但是用<html:messages>还要用循环的方式(如上代码)。难道不是吗??


--------------------------------------------------------

http://www.blogjava.net/kook/archive/2007/06/11/71626.html
以上网址是关于massages和errors的不错的详细解释。上面用到了request.setAttribute方法。从理论上来说应该是可行的,但是为何不能显示出来呢??

--------------------------------------------------------

http://www.cntesting.com/pic/study/Struts/ActionMessage.htm
不错,lz你看看能不能看明白。
我是迷糊了。。。。

--------------------------------------------------------

我也看不懂,既然新版本已经把actionError去掉,为何还要留着actionErrors呢??看似是用actionMessage代替actionError。而在jsp中显示还用html:massages显示actionErrors中的内容。让人费解!!!这样交替使用,反而让人迷惑!!!

--------------------------------------------------------

actionForm中的ActionErrors validate(ActionMapping mapping, javax.servlet.http.HttpServletRequest request) 只支持返回类型ActionErrors ,可能是为何不能去掉ActionErrors 的原因吧


--------------------------------------------------------

可能是吧,我比较笨,领悟不了了!!!!
lz你自己加油吧!

--------------------------------------------------------

本不想就这么结帖的,唉。不过还是结了吧,虽然没多少分,但是还是要给出去的,呵呵。还是要多谢回帖的朋友们!

--------------------------------------------------------
相关问题
    Copyright ◎ 1998 - 2007 编程资料网 All Rights Reserved