为什么h:inputText不使用默认语言环境进行数字转换?

| 我有一些“ 0”字段来保存数字。尽管我在faces-config.xml中具有以下条目,但所有十进制值都以\“。\”作为分隔符显示:
<locale-config>
     <default-locale>de</default-locale>
</locale-config>
和电话
FacesContext.getCurrentInstance().getViewRoot().getLocale()
返回\“ de \”。 但是,如果我在
h:inputText
中添加
<f:convertNumber/>
,则会显示正确的小数点分隔符(例如,6.2代替6.2)。 我是否必须在所有输入字段中添加ѭ5?还是没有? 谢谢你的帮助!     
已邀请:
默认格式为浮点数的“ 6”格式。 考虑bean属性
foo
public class MyBean implements Serializable {
  private double foo;
  public double getFoo() { return foo; }
  public void setFoo(double foo) { this.foo = foo; }
}
inputText
不直接支持数字类型;它会被赋予一个对象(
java.lang.Double
)并在输出上对其调用
toString
。在提交表单时,浏览器将发送一个“ 12”,并且表达式语言根据其类型强制规则(请参阅EL规范)将其强制返回为double。 对于更复杂的逻辑,需要一个转换器。这是一个功能强大的模型,因为您可以在不需要输入/输出控件支持转换的情况下与任何类型进行转换。     

要回复问题请先登录注册