EL 表达式 ${pet['new']} 中的 ['new'] 是什么意思



在一个简单的Spring MVC应用程序中,我遇到了一个奇怪的设计:pet ['new']。我以前没有见过这种结构,需要有人来解释它的语义。它可能是指这个类。

二线

<c:choose>
    <c:when test="${pet['new']}">
        <c:set var="method" value="post"/>
    </c:when>
    <c:otherwise>
        <c:set var="method" value="put"/>
    </c:otherwise>
</c:choose>

和控制器

@RequestMapping(value = "/owners/{ownerId}/pets/new", method = RequestMethod.GET)
public String initCreationForm(@PathVariable("ownerId") int ownerId, Map<String, Object> model) {
    Owner owner = this.clinicService.findOwnerById(ownerId);
    Pet pet = new Pet();
    owner.addPet(pet);
    model.put("pet", pet);
    return "pets/createOrUpdatePetForm";
}

bean 'bar'的JavaBean属性'foo'可以用两种语法形式访问:bar.foobar['foo']。他们在这里选择了第二个,引用new bean属性,即BaseEntity中的isNew() getter。

所以测试相当于Java代码

if (pet.isNew())

最新更新