JSF EL表达式在HtmlInputText的必需属性中不起作用

时间:2013-03-15 17:39:30

标签: jsf el

我将JSF组件动态添加到使用带有facelets的JSF 1.2创建的XHTML页面中。只有在单击页面中的特定按钮时,才能执行某些组件所需的验证。 所以我使用代码将所需属性添加为EL表达式:

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

我已经通过将EL表达式置于页面中某个静态组件的必需属性中来验证EL表达式的工作原理。我还验证了通过调试代码将EL表达式添加到组件中。但它只是在动态组件中不起作用。

1 个答案:

答案 0 :(得分:1)

表达式必须评估为boolean,而不是String

替换

createValueExpression(requiredExpression, String.class)

通过

createValueExpression(requiredExpression, boolean.class)