[SEAM] f:convertNumber 的输入和显示问题
无双Rama
2009-07-27
页面有一段代码是显示某个栏位的值的,同时也可以输入进行修改,所以用inputText。
<h:outputText vlaue="Total :" /> <h:inputText value="#{salary.totalNumber}" </h:inputText> 后来要求让数字呈“ 1,000.00 ”的格式 显示,所以我改成这样: <h:outputText vlaue="Total :" /> <h:inputText value="#{salary.totalNumber}" <f:convertNumber type="number" pattern="#,###.##" /></h:inputText> 问题出现了,就是这个转换器可以让数字显示成我想要的格式,但是在我输入数据并提交的时候,它报错, 要求我按 "#,###.##"格式输入数字。 我现在想要它仅仅在显示的时候帮我转换,在输入的时候不要求我按指定的格式输入,该怎么解决呢? |
|
5day
2009-07-27
用js,onclick的时候将格式换回来。
|
|
无双Rama
2009-07-27
5day 写道 用js,onclick的时候将格式换回来。
你是说我在点击保存按钮的时候调用js吗? 那该怎么写呢,我要几十个这样的inputText。。。 |
|
无双Rama
2009-07-28
终于知道这个错是为什么了。。。
inputText 绑定的是实体里面的set方法,当刷新form 的时候它会自动检测,这时候就会要求按照具体的格式才能通过,如输入的是500就不符合 “#,###.##”,所以报错 现在只有用笨方法,把显示和编辑分开写,并且用于显示的inputText的disabled属性设置为true。用于输入的inputText 直接不用格式转换,这样就不会有问题了 |
|
orangeven
2009-07-29
convertnumber有一个参数groupingUsed,设为true的话会自动加入逗号。
还有maxIntegerDigits,minFractionDigits都设为2的话,也许可以强迫输入2位小数。 要注意的是convertnumber会自动根据user输入的数字转换成相应的类,看看这个吧:http://seamframework.org/Community/ConvertnumberArgumentTypeMismatch |
|
无双Rama
2009-07-29
orangeven 写道 convertnumber有一个参数groupingUsed,设为true的话会自动加入逗号。
还有maxIntegerDigits,minFractionDigits都设为2的话,也许可以强迫输入2位小数。 要注意的是convertnumber会自动根据user输入的数字转换成相应的类,看看这个吧:http://seamframework.org/Community/ConvertnumberArgumentTypeMismatch 谢谢你的热心帮助 我会好好看看··· |
|
5day
2009-07-29
<h:inputText value="#{salary.totalNumber}" <f:convertNumber groupingUsed="true" type="number" pattern="#,###.##" /> </h:inputText> 受教了。 ![]() |