我正在将JSF组件动态添加到使用带有facelets的JSF1.2创建的XHTML页面中。仅当单击页面中的特定按钮时,才必须执行这些组件中的某些组件的所需验证。因此,我使用以下代码添加了必需的属性作为EL表达式:
String requiredExpression = "#{not empty param['form:button']}")
component.setValueExpression("required",
createValueExpression(requiredExpression, String.class));我已经通过将EL表达式放在页面中某个静态组件的required属性中,验证了EL表达式是否有效。我还通过调试代码验证了EL表达式正在被添加到组件中。但它在动态组件中不起作用。
发布于 2013-03-16 01:50:59
表达式的计算结果必须为boolean,而不是String。
替换
createValueExpression(requiredExpression, String.class)通过
createValueExpression(requiredExpression, boolean.class)https://stackoverflow.com/questions/15438796
复制相似问题