java - 如何处理 "Property or field cannot be found on object in SpEL"?

标签 java spring spring-mvc spring-el

如何处理Property or field <foo> cannot be found on object of type <bar>在 SpEL ? 例如如果数据上没有 placeId 属性,那么它不应该给我上述错误并返回 differentValue。

"${@block?.value?.data?.placeId ?: 'differentValue'}"

最佳答案

这是不正确的。 SpEL 只是另一种 JVM 语言。它不是像 JavaScript 这样的非类型语言。那么,如果您的 Java 类没有某些属性,会发生什么情况呢?右:Property or field <foo> cannot be found on object of type <bar> .

因此表达式中的逻辑一定不能依赖于某些非 Java 反射逻辑。

你肯定需要有像 instanceof 这样的东西,但您可能无需通过强制转换来访问现有属性。

关于java - 如何处理 "Property or field cannot be found on object in SpEL"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52321764/

相关文章:

java - 将整数转换为罗马数字 - Java

java - Tomcat 6.0.35 Windows 32b 服务 useSystemProxies

java - Spring Boot抽象自动配置问题

java - 获取大型表单到 Spring Controller

java - 如何使用 Spring Data 将 BigInteger 转换为 Objectid

java - spring-mvc (portlet) : how to return a pdf file in open file dialog?

java - JDBC 4 order by 子句

java - Servlet URL 模式与斜杠前缀匹配

java - Spring 3.0 中 XML bean 定义中表达式中的相对引用

java - ClassLoader 不提供 'addTransformer(ClassFileTransformer)' 方法