java - 在什么条件下调用 ELResolver 的 setValue 方法?

标签 java jakarta-ee el

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

最佳答案

它被其他人调用 ValueExpression#setValue()反过来,它又被其他实现 EditableValueHolder 的 JSF 组件所使用。接口(interface),如UIInput其中有 setValue()方法。

这个 JSF 示例,

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

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

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

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

如果您没有在 Web 应用程序中的任何地方使用 JSF,那么您不一定需要担心它。如果您无论如何都想在 JSF 上测试它,请使用 our JSF wiki page 中的 Hello World 示例。 .

关于java - 在什么条件下调用 ELResolver 的 setValue 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17435938/

相关文章:

Java varargs 分配数组对象?

java - 我正在尝试执行下面的 if else 条件,但 else 部分未执行 'if' 条件不满足

jakarta-ee - 无法使网格布局适应屏幕大小(Vaadin 6.7.4)

java - 使用 JSTL 出现此错误 : javax. el.PropertyNotFoundException

java - 从 Java 中的 TextArea 中提取字符串(使用 EasyApp)

java - Spring Boot - 返回日期(不是时间戳)

jsf - Wicket vs GWT - 需要建议

java - 在 Java 中创建和保存大型 XML

jsp - 使用 JSTL/fmt 在 EL 中格式化 GregorianCalendar

jsf - PrimeFaces 是否有类似 o :param (solution to add complex parameter for outputFormat)? 的内容