我为我的表单设置了一个支持bean。这部分工作正常。
我有一个字段的可能值已经设置为我的支持bean上的列表。有没有办法在commandName的上下文中以与使用路径相同的方式访问此列表?
举个例子:
(我不想要这个)
<form:form method="POST" commandName="address">
<form:select path="country">
<form:options items="${address.countryList}" itemValue="countryId" itemLabel="countryName" />
</form:select>
</form:form>
(我希望以这种方式访问它)
<form:form method="POST" commandName="address">
<form:select path="country">
<form:options items="countryList" itemValue="countryId" itemLabel="countryName" />
</form:select>
</form:form>
我在网上看到很多使用EL样式$ {}的示例属性,但我想知道是否有人可以告诉我这是如何在表单的上下文中完成的。由于缺少更好的术语,我想访问与commandName位于相同“范围”的列表。
可以这样做吗?
如果你想知道为什么我想这样做:我有很多形式在嵌套循环内几层深,所以我最终得到大约9个表格总共有类似(但不精确)的列表所以我不能每次都使用相同的列表,这就是我在支持bean上有列表的原因。该列表包含特定于每个bean的允许值。
答案 0 :(得分:0)
不,因为path
和items
根本不同。
TLD表示表单标记的path
属性指示所选选项应绑定到哪个字段,items
属性是生成所有选项的便捷方式。
您的控制器仍然需要大致类似于此的代码:
public String formSetup(ModelMap model) {
//...
model.put("countryList", backingBean.getCountryList());
//...
return "mySuperAwesomeView.jsp";
}