<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>en</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<message-bundle>CustomMessages</message-bundle>
</application>
资源文gQ也是和其他web应用一致?br>
halloween=Every day is like Halloween.
numberOfVisits=You have visited us {0} time(s), {1}. Rock on!
toggleLocale=Translate to Spanish
helloImage=../images/hello.gif
如果需要在面中用相应的bundleQ需要用以下的标记Q?br>
<f:loadBundle basename="LocalizationResources" var="bundle"/>
<h:outputText value="#{bundle.halloween}"/>
当然q是使用默认的locale讄Q如果想动态切换localeQ目前我的处理方式是q样的:
<f:loadBundle basename="messages_#{localeBean.locale}" var="msg"/>
当然localeBean.locale的值是动态更改的Q可以ؓen,zh_CNQ等{?br>个h觉得和spring 的web framework相比Q没有spring的那么灵z,不过基本上都能解决问题,凑合着用吧?br>
如果惛_代码中用,q是需要用以下方法:
public static String getMessageString(String name, Object
params) {
String str = "";
FacesContext facesContext = FacesContext.getCurrentInstance();
String bundleName = facesContext.getApplication().getMessageBundle();
if (bundleName != null) {
Locale locale = facesContext.getViewRoot().getLocale();
ResourceBundle bundle = ResourceBundle.getBundle(bundleName,
locale, getCurrentClassLoader(params));
str = bundle.getString(name);
}
return str;
}
对于验证机制Q基本的接口为Validator,只有一个方法validate。通常的验证机Ӟ都是通过服务端来实现。如果想支持客户端支持,估计q得自己写一套接口去替换。不q看了其生命周期Q觉得很隑֮玎ͼ除非q其生命周期。当Ӟq些使用ajax来处理,可能会减服务端的通信负担?br> 光认的验证实现Q包括以下几个:
DoubleRangeQ?/span><f:validateDoubleRange>
LengthQ?/span><f:validateLength>
LongRangeQ?/span><f:validateLongRange>
从字面意思可以看出来?br> 当然Q每个组仉有默认的验证器required。只要设|其属性ؓtureQ就会进行空值判断?br>
对于lg来说Q支持多个验证器。但是没有看到关联组件的验证器,需要自己实现。如password的是否一?br>
cd转换Q接口ConverterQ包括两个方?
public Object getAsObject(FacesContext context, UIComponent component,
String value);
public String getAsString(FacesContext context, UIComponent component,
Object value);
前者{化ؓ对象Q后者ؓ用于面输出?br> 在进行验证前Q都会先q行D{换?br> 对于转换,内部已经提供了基本类型的实现Q包括数字,日期Qboolean型?br> 当然Converter另外一个功能,是提供格式化输出,支持NumberFormat和DateFormat的输出:
包括Q?lt;f:convertDateTime>?lt;f:convertNumber pattern="###,###.##;(###,###.##)"/>其样式,完全采用相应的java样式?br>

]]>