Primefaces 3.5.10、Mojarra 2.1.21、Omnifaces 1.5
セキュリティの問題を考えています。
component.getAttributes() メソッドでコンポーネント属性を設定します。このメソッドは、属性を持つ HashMap を返します。このマップで ("disabled", true)-pair を設定してコンポーネント (p:inputText-component など) を無効にしても安全ですか? jsf パイプラインの actionListener (フェーズ 5 または 4) から使用します。そのため、レンダリング フェーズのみに影響を与える可能性があります。しかし、クライアントの入力メソッドから無効化された属性を操作し、操作された値を投稿することができました。サーバーは、コンポーネントが無効になっていて変更を拒否するかどうかをテストしますか?
最善の方法は何ですか?
panelGrid のすべてのコンポーネントが無効になります:
xhtml:
<p:panelGrid>
<my:component/>
<p:input value=#{mybean.value} />
</p:panelGrid>
Bean:
for (UIComponent component : l) {
component.getAttributes().put("disabled", true);
recursion(....);
}