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)

前の投稿:Javaでファイルを作成する方法
次の投稿:単純なHttpSessionListenerの例 - アクティブなセッションカウンタ