icefaces message无法显示
stenlylee
2008-04-12
如下代码:
页面 <ice:inputText id="userName" required="true" /> <ice:message for="userName" /> backing bean FacesContext facesContext = FacesContext.getCurrentInstance(); facesContext.addMessage("userName", new FacesMessage(FacesMessage.SEVERITY_ERROR, "测试", "")); 页面上message显示不出来,console里面有打印出正确的message 把addMessage的"userName"换成null,也就是将文本框的消息编程全局消息,页面上的messages就能够正确显示 文本框的required消息能够正常显示,ice:message换成h:message一样的问题 有谁知道是什么问题么?到底是icefaces的问题还是JSF的问题?如果解决? |
|
tailsherry
2008-04-14
这个addMessage在处理异常抛出的时候,是不能直接抛出到绑定的页面element上的,这可能是jsf1.2还没有解决的问题吧。
我想,你这里是想做到自定义的数据验证。可以考虑用validator <ice:inputText id="userName" required="true" validator="#{bean.userNameValidator}" /> <ice:message for="userName" /> public void userNameValidator(FacesContext facesContext, UIComponent uiComponent, Object object) throws ValidatorException { String userName= (String) object; String msg = null; if (userName.length() < 6) { msg = "UserName must not be less than 6 characters long."; FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg); throw new ValidatorException(message); } } |
|
stenlylee
2008-04-14
多谢楼上的解答,我自己搜遍google,终于找到个解决办法:
http://hi.baidu.com/stenlylee/blog/item/3fbc86d65070942a07088b28.html |
|
lenves
2009-07-30
老兄,想问下你不是设置了required=true吗 当你光标离开的时候那个提示信息怎么设置啊,谢谢了,就是我不在input里面输入值直接做下一步操作,那个message怎么设置啊,谢谢了
|