0

据我所知,EL 规范中没有赋值运算符,任何尝试使用赋值运算符都会导致 ParseException。那么使用 setValue 方法有什么意义呢?我已经为我正在开发的自定义解析器实现了它,但我不知道如何测试它。

4

1 回答 1

1

它被其他人调用,而其他人ValueExpression#setValue()又被其他实现EditableValueHolder接口的JSF组件使用,例如UIInput它有一个setValue()方法。

这个 JSF 示例,

<h:inputText value="#{bean.property}" />

基本上是在幕后进行的(为简洁起见,省略了上下文/转换/验证/等)

bean.setProperty(request.getParameter(component.getClientId(facesContext)))

setProperty()调用最终由ELResolver#setValue().

如果您没有在 web 应用程序的任何地方使用 JSF,那么您不必担心它。如果您仍然想在 JSF 上测试它,那么请使用我们 JSF wiki 页面中的 Hello World 示例。

于 2013-07-02T21:21:19.200 回答