JSF 2のconvertNumberの例
JSFでは、 ”
f:convertNumber
“はStringを指定された “Number”形式に変換する標準コンバータです。また、入力値が有効な数値であることを確認するためのバリデータとしても使用されます。よく使われる以下の例を参照してください。
<h:outputText value="#{receipt.amount}" > <f:convertNumber minFractionDigits="2"/> </h:outputText>
値を「0.10」と表示します。
-
2。パターン属性**
<h:outputText value="#{receipt.amount}" > <f:convertNumber pattern="#0.000"/> </h:outputText>
値を「0.100」と表示します。
-
注** パターン・フォーマットは、http://download.oracle.com/javase/6/docs/api/java/text/DecimalFormat.html[java.text.DecimalFormat]で定義されています。
-
3。 currencyCode属性**
<h:outputText value="#{receipt.amount}" > <f:convertNumber currencyCode="GBP" type="currency"/> </h:outputText>
値を「GBP0.10」と表示します。
-
注
currencyCodeはhttp://www.iso.org/iso/support/currency
codes
list-1.htm[ISO 4217]で定義されています。 currencyCode属性を使用するには、type属性を ”
currency ** “に変更する必要があります。 -
4。タイプ= “パーセント”属性**
<h:outputText value="#{receipt.amount}" > <f:convertNumber type="percent"/> </h:outputText>
値を「10%」と表示します。
P.S他の “f:convertNumber”属性については、https://javaserverfaces.dev.java.net/nonav/docs/2.0/pdldocs/facelets/f/convertNumber.html[JSF “f:convertNumber” JavaDoc].
JSF f:convertNumberの例
次のJSF 2.0の完全な例は、「
f:convertNumber
」タグの使用方法を示しています。
1.マネージドBean
単純なマネージドBeanで、 “amount”プロパティを持ちます。
package com.mkyong; import java.io.Serializable; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean(name="receipt") @SessionScoped public class ReceiptBean implements Serializable{ double amount; public double getAmount() { return amount; } public void setAmount(double amount) { this.amount = amount; } }
2. f:convertNumberの例
JSF XHTMLページで検証を行うために ”
f:convertNumber
“タグを使用し、文字列フォーマッタも使用します。
-
default.xhtml **
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" > <h:body> <h1>JSF 2 convertNumber example</h1> <h:form> <h:panelGrid columns="3"> Amount : <h:inputText id="amount" value="#{receipt.amount}" size="20" required="true" label="Amount" > <!-- display in at least 2 decimal points --> <f:convertNumber minFractionDigits="2"/> </h:inputText> <h:message for="amount" style="color:red"/> </h:panelGrid> <h:commandButton value="Submit" action="receipt"/> </h:form> </h:body> </html>
-
receipt.xhtml **
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" > <h:body> <h1>JSF 2 convertNumber example</h1> <ol> <li> Amount[minFractionDigits="2"]: <h:outputText value="#{receipt.amount}" > <f:convertNumber minFractionDigits="2"/> </h:outputText> </li> <li> Amount[pattern="#0.000"]: <h:outputText value="#{receipt.amount}" > <f:convertNumber pattern="#0.000"/> </h:outputText> </li> <li> Amount[currencySymbol="$"]: <h:outputText value="#{receipt.amount}"> <f:convertNumber currencySymbol="$" type="currency"/> </h:outputText> </li> <li> Amount[currencyCode="GBP"]: <h:outputText value="#{receipt.amount}" > <f:convertNumber currencyCode="GBP" type="currency"/> </h:outputText> </li> <li> Amount[type="percent"]: <h:outputText value="#{receipt.amount}" > <f:convertNumber type="percent"/> </h:outputText> </li> </ol> </h:body> </html>
デモ
ユーザーが無効な数値書式を記入すると、エラーメッセージが表示されます。
例:1、title = “jsf2-ConvertNumber-Example-1″、width = 577、height =例1:画像番号://wp-content/uploads/2010/10/jsf2-ConvertNumber-Example-1.png[jsf2-ConvertNumber- 360]
ユーザーキーを「
0.01
」の値にして「送信」ボタンをクリックします。
jsf2-ConvertNumber – Example-2、ConvertNumber-Example-2、ConvertNumber-Example-2、title = “jsf2-ConvertNumber-Example-2″、width = 577、height = 360]
提示された値を別の表示形式で表示します。
例:3、title = “jsf2-ConvertNumber-Example-3″、width = 577、height = 360]
ソースコードをダウンロードする
ダウンロード – リンク://wp-content/uploads/2010/10/JSF-2-ConvertNumber-Example.zip[JSF-2-ConvertNumber-Example.zip](10KB)