1

我正在将 JSF 组件动态添加到使用带有 facelets 的 JSF 1.2 创建的 XHTML 页面中。仅当单击页面中的特定按钮时,才必须对其中一些组件进行所需的验证。因此,我使用以下代码将所需的属性添加为 EL 表达式:

String requiredExpression = "#{not empty param['form:button']}")
component.setValueExpression("required", 
                       createValueExpression(requiredExpression, String.class));

我已经通过将 EL 表达式放置在页面中静态组件之一的 required 属性中来验证它是否有效。我还通过调试代码验证了 EL 表达式已添加到组件中。但它只是在动态组件中不起作用。

4

1 回答 1

1

表达式必须计算为 a boolean,而不是 a String

代替

createValueExpression(requiredExpression, String.class)

经过

createValueExpression(requiredExpression, boolean.class)
于 2013-03-15T17:50:58.533 回答