小弟刚学jsf不久,遇到一些问题,希望大家能多多赐教.
问题一:在提交表单后,页面转向到另一个页面,这时候我按浏览器的"后退"按纽,回到原来的页面,再点提交的话,页面似乎只是恢复了视图,(也就是说,后台收到了请求,但是只是执行了RESTORE_VIEW然后就RENDER_RESPONSE了),根本没有执行中间的那几步,包括应用处理,需要再点一次"提交"按纽,这时候后台才会完整的执行请求处理的那六个过程.
问题二:大家是如何解决中文问题的呢?我在网上查了一下,有些是用转换器来处理,但是我发现转换好象只能用在<h:inputText>里面,用在<h:inputTextarea> 中就会出错,后台抛出"text name must not be null"的异常.这是为什么呢?而且我查了关于<h:inputTextarea>语法,是支持validator的呀.
问题三:自定义的验证器需要和required="true"一起使用吗?我把required="true"去掉后,发现自定义验证器就不起作用了,但是如果用required="true",required="true"的标准验证器又会在自定义验证器之前调用。虽然我在messages文件里面这样定义了:javax.faces.component.UIInput.REQUIRED=Please input \{0}.,但是这样的话,只是标准验证器抛出这个Please input \{0}信息,它会将\{0}替换掉,我自己却无法将\{0}替换成自己想要的东西,有没有办法去掉标准验证器呢??还有就是<f:selectItem itemValue="comon" 这里itemValue如果是中文的话,就无法通过标准验证器,所以只得用英文,然后再后台自己做一个转换,但我觉得这样做很不统一,有没有好的办法解决这个问题啊?
谢谢大家哈
解决立刻给分