在一个简单的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.foo
或bar['foo']
。他们在这里选择了第二个,引用new
bean属性,即BaseEntity中的isNew()
getter。
所以测试相当于Java代码
if (pet.isNew())