为什么我不能调用UIComponent.setValueExpression()?

时间:2012-05-04 14:38:08

标签: java jsf compiler-errors

我收到了一个包含以下内容的项目:

HtmlOutputText content = new HtmlOutputText();
ValueBinding vb = dashBoardBean.getApplication()
    .createValueBinding(columnas[cont][1]);
content.setValueBinding("value", vb);

Eclipse,使用Java 5,将它们标记为已弃用(类ValueBinding和方法setValueBinding)。

所以我看了API for HtmlCommandLink.setValueBinding()(它实际上是在UIComponentBase)并发现了这个:

已弃用。 已被UIComponent.setValueExpression(java.lang.String, javax.el.ValueExpression)取代。

所以我将最后一行代码更改为以下内容:

content.setValueExpression("value", null);

但现在我遇到了编译错误。

我也尝试过:

UIComponent uic;
uic.setValueExpression("", null);

并得到同样的错误:

The type javax.el.ValueExpression cannot be resolved. It is indirectly referenced from 

必需的.class文件

该错误的含义是什么?我该如何解决?

1 个答案:

答案 0 :(得分:2)

您需要在类路径上使用JSF 1.2(或更高版本)jar。