JSF 1.2 と facelets を使用して作成された XHTML ページに JSF コンポーネントを動的に追加しています。これらのコンポーネントの一部に必要な検証は、ページ内の特定のボタンがクリックされたときにのみ実行する必要があります。したがって、次のコードを使用して、必要な属性を EL 式として追加しました。
String requiredExpression = "#{not empty param['form:button']}")
component.setValueExpression("required",
createValueExpression(requiredExpression, String.class));
ページ内の静的コンポーネントの 1 つの必須属性に EL 式を配置することで、EL 式が機能することを確認しました。コードをデバッグして、EL 式がコンポーネントに追加されていることも確認しました。しかし、動的コンポーネントでは機能しません。