【问题标题】:jquery parse spring mvc object auto call toStringjquery解析spring mvc对象自动调用toString
【发布时间】:2014-06-01 09:32:12
【问题描述】:

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

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

${departmentList }

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

但如果我使用

${departmentList.name }

它只会转到

getName() //(getter method).

【问题讨论】:

  • 这与jQuery无关。它是执行此操作的表达式语言。您还希望它打印什么?见这里:docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html
  • 我不想打印任何东西。我自己的 toString 函数有一个错误,导致无限循环。当注意到 jsp 调用 toString 时,我发现了这个错误。无论如何,谢谢你的参考。 :)

标签: java jsp spring-mvc jpa object-to-string


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您所描述的与 jQuery 无关。

    ${departmentList }
    

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

    当你使用

    ${departmentList.name }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-24
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2019-05-01
      相关资源
      最近更新 更多