0

我在 Web 应用程序中使用 JSP + MVC。我发现当 jQuery 解析一个 java 对象时,它会自动调用 Java 的 toString() 方法。是否有任何文件可以解释原因?

例如,JSP 使用从控制器返回的部门

${departmentList }

我可以看到 toString() 登录控制台。

但如果我使用

${departmentList.name }

它只会转到

getName() //(getter method).
4

2 回答 2

2

这就是表达式语言评估的本质。当您使用表达式语言时,它将在其中搜索 .(dot) 如果 .(dot) 找到它将调用该属性的 getter,否则将调用该对象的 toString()

于 2014-04-17T08:03:04.117 回答
0

您所描述的与jQuery无关。

${departmentList }

在您的 jsp 中是在服务器端处理的,而不是在客户端。在这种情况下,处理 jsp 的引擎所做的事情是完全合乎逻辑的,它调用toString就像 System.out.println() 如果你传递它一样departmentList

但是,当您使用

${departmentList.name }

处理jsp页面的引擎会自动可以getName对象上的方法

于 2014-04-17T08:03:47.683 回答