1

私のjsfには次のようなものがあります:

<div title="Percentage: #{myBean.numberToBeConvertedToPercentage}"></div>

私はこのようなものを作りたかった:

<h:outputText value="#{myBean.numberToBeConvertedToPercentage}">
    <f:convertNumber maxFractionDigits="2" type="percent"/>
</h:outputText>

もちろん、出力テキスト内ではなく、変換された数値を変数に設定するので、div 内で使用できます。この変換された数値を Bean から直接取得したくありません。フォーマットせずにビューの別の場所で使用し、このためだけに get を作成するため、このアイデアは好きではありません。私の見解でのみこれを行う方法はありますか?

4

2 に答える 2

1
  1. + コンバーターを<h:outputText>使用するのは、JSF でこの目的に最適な方法です。Htmlを再設計できますラベル「パーセンテージ:」とデータを分離します。 JSコードでレンダリングされた値を使用して、それを「タイトル」属性に渡します。

    <div id="titleDiv" />
    
    <script type="text/javascript">
    $('#titleDiv').title = 'Percentage: <h:outputText value="#{myBean.numberToBeConvertedToPercentage}"><f:convertNumber maxFractionDigits="2" type="percent"/></h:outputText>';
    </script> 
    
  2. それでもコンバーターを使用しない場合は、ビューごとにもう 1 つの Bean を作成し、get メソッドで値をレンダリングできます。

  3. その他のオプションは、EL 2.2 メソッド呼び出し機能を使用し、独自のフォーマット Bean を呼び出すことです。

    <div title="Percentage: #{formatBean.formatNumber(myBean.numberToBeConvertedToPercentage, 2)}"></div>
    
于 2012-08-28T13:30:07.690 に答える
0

私はこれをチェックしていませんが、おそらく ui:param を使用してコンバーターを割り当てることができます。

そして、あなたのページでそれを使用してください

<div title="Percentage: #{myVar}></div>

JSFページでのEL変数の定義と再利用を参照してください

于 2012-08-28T13:44:07.513 に答える