我在 Web 应用程序中使用 JSP + MVC。我发现当 jQuery 解析一个 java 对象时,它会自动调用 Java 的 toString() 方法。是否有任何文件可以解释原因?
例如,JSP 使用从控制器返回的部门
${departmentList }
我可以看到 toString() 登录控制台。
但如果我使用
${departmentList.name }
它只会转到
getName() //(getter method).
我在 Web 应用程序中使用 JSP + MVC。我发现当 jQuery 解析一个 java 对象时,它会自动调用 Java 的 toString() 方法。是否有任何文件可以解释原因?
例如,JSP 使用从控制器返回的部门
${departmentList }
我可以看到 toString() 登录控制台。
但如果我使用
${departmentList.name }
它只会转到
getName() //(getter method).
这就是表达式语言评估的本质。当您使用表达式语言时,它将在其中搜索 .(dot) 如果 .(dot) 找到它将调用该属性的 getter,否则将调用该对象的 toString()
您所描述的与jQuery无关。
${departmentList }
在您的 jsp 中是在服务器端处理的,而不是在客户端。在这种情况下,处理 jsp 的引擎所做的事情是完全合乎逻辑的,它调用toString
就像 System.out.println() 如果你传递它一样departmentList
但是,当您使用
${departmentList.name }
处理jsp页面的引擎会自动可以getName
对象上的方法