私はPrimefacesに取り組んでいます。顧客情報を表示する際、特定の顧客の場合、一部のフィールドは機密扱いにする必要があり、XXXXXXXXXX として表示する必要があります。また、特定の顧客の場合、それらのフィールドに値を表示できます。
レンダリングされた値オブジェクトを受け入れる複合コンポーネントを持つことを考えました。顧客に基づいて、静的テキスト「XXXXXXXXXX」を含む outputText と、バッキング Bean 属性にバインドされた値を含む inputText を表示します。
//Composite component code
<composite:interface>
<composite:attribute name="render" />
<composite:attribute name="value" />
</composite:interface>
<composite:implementation>
<h:outputText value=" XXXXXXXXXX " rendered="#{cc.attrs.render}" />
<p:inputText value="#{cc.attrs.value}" rendered="#{!cc.attrs.render}">
<f:convertNumber type="currency" />
</p:inputText>
</composite:implementation>
//Using composite component
<util:input id="accountBalance" render="#{myBean.vipCustomer}" value="#{ myBean.value}" />
//myBean
public class Account implements Serializable {
private double value;
private boolean vipCustomer = false;
// getter's and setter's goes here.....
}
これは安全なアプローチですか?JSF または Primefaces の今後のリリースにより、メンテナンスの問題は発生しますか? より良い方法はありますか?ご意見ありがとうございます。