【问题标题】:Accessing beans from jsp(Spring Petclinic)从 jsp 访问 bean(Spring Petclinic)
【发布时间】:2014-10-17 22:23:58
【问题描述】:

在 Spring Petclinic 中如何从 jsp 访问 bean。

<th>Name</th>
<td><b><c:out value="${owner.firstName} ${owner.lastName}"/></b></td>"

这个标签${}是JSP表达式语言还是spring表达式语言。 bean 的名称是应用程序中的实际所有者,那么这里如何以${owner} 访问。我也没有在应用程序中看到任何useBean

【问题讨论】:

  • 名字是Jsp引擎转换的吗?不确定

标签: java spring jsp spring-mvc


【解决方案1】:

标签 ${} 来自 JSP 表达式语言。 spring 标签看起来像#{}。

bean的实际名称在应用程序中可以是Owner,但是在ModelandView中设置bean时,它可能已经被命名为owner

【讨论】:

  • 这个方法是在ModelandView中设置bean:@RequestMapping("/owners/{ownerId}") public ModelAndView showOwner(@PathVariable("ownerId") int ownerId) { ModelAndView mav = new ModelAndView("owners/ownerDetails"); mav.addObject(this.clinicService.findOwnerById(ownerId)); return mav; }
【解决方案2】:

当您不指定名称时,这是 [by Spring] 选择名称的方式:

addObject--&gt;addAttribute--&gt;getVariableName--&gt;getShortNameAsProperty--&gt;decapitalize

简而言之,短类名称是非大写的。如果 Owner 是您的班级名称,则 owner 成为您的 attributeName。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多