我正在将 JSF 组件动态添加到使用带有 facelets 的 JSF 1.2 创建的 XHTML 页面中。仅当单击页面中的特定按钮时,才必须对其中一些组件进行所需的验证。因此,我使用以下代码将所需的属性添加为 EL 表达式:
String requiredExpression = "#{not empty param['form:button']}")
component.setValueExpression("required",
createValueExpression(requiredExpression, String.class));
我已经通过将 EL 表达式放置在页面中静态组件之一的 required 属性中来验证它是否有效。我还通过调试代码验证了 EL 表达式已添加到组件中。但它只是在动态组件中不起作用。