java – 如何将JSF消息编码设置为UTF-8?
我有一些用户输入验证的代码
<h:form> <h:inputText value="#{user.input}"> <f:validator validatorId="validator.InputValidator" /> </h:inputText> <h:commandButton action="someaction" value="submit"> </h:commandButton> <h:messages layout="table"></h:messages> </h:form> 它工作正常,但如果用户输入无效,我需要显示一些UTF-8消息, 解决方法
我假设您当前的问题是ISO-8859-1范围之外的字符显示为
mojibake.这是真的吗?我想不出提出这个微不足道的问题的另一个原因.是?然后预读:
首先,如果您仍在使用旧JSP而不是其后继Facelets,那么您需要将页面编码设置为UTF-8.把它放在每个JSP的顶部: <%@page pageEncoding="UTF-8" %> 或者在web.xml中全局配置它: <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <page-encoding>UTF-8</page-encoding> </jsp-property-group> </jsp-config> 如果您使用的是Facelets,则无需执行任何操作.它默认使用UTF-8作为响应编码. 其次,如果您从.properties文件中获取消息,则需要了解默认情况下这些文件是使用ISO-8859-1读取的.另见
因此,您需要在Unicode escape sequences之前记下ISO-8859-1范围之外的字符.代替 some.dutch.text = één van de wijken van Cura?ao heet Sali?a. 你需要写 some.dutch.text = u00c9u00e9n van de wijken van Curau00e7ao heet Saliu00f1a. 这可以通过使用native2ascii工具自动完成. 作为一个完全不同的替代方案,您可以使用自定义 也可以看看: > Unicode – How to get the characters right? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- javax.persistence.PersistenceException:没有名为EntityM
- java – 在日期列表中查找离目标最近的日期的最佳方法?
- The 10 Most Important Security Controls Missing in Java
- java – 是否有一个项目方面用于向Eclipse中的项目添加spri
- struts2 validation.xml 验证规则代码解析
- Hibernate之openSession与getCurrentSession的区别
- java – 将String数组作为参数传递
- 13-03 Java 基本类型包装类概述,Integer类,Character
- 多线程 – std :: this_thread :: yield()用法?
- 多级Java通用继承使用扩展于通用参数