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