我正在使用 Spring MVC。我正在尝试显示“公司”对象的列表。公司具有不同的属性,包括公司名称、状态、邮政编码等...
只显示公司对象(内存中每个公司对象的字符串表示)的代码是**
<select name="issuingFirm" id="issuingFirm">
<c:forEach var="entity" items="${candidateIsssuingFirmList}">
<option value="${entity}">${entity}</option>
</c:forEach>
</select>
**
在我的控制器中,我已经有公司列表(List<Firm>
)
以下方法是一种实用方法,它获取公司列表并将它们放入地图中,以便稍后我可以将其放入模型中以在我的 jsp 页面中显示
public static Map getIssuingEntities(List<Firm> firmList) {
Map entityData = new HashMap();
entityData.put("candidateIsssuingFirmList", firmList);
return entityData;
}
在我的控制器(get 方法)中,我使用以下代码调用上述方法并将其放入模型中(模型是 ModelMap 的类型)
@RequestMapping(value = "...", method = RequestMethod.GET)
public ModelAndView getIssuerInformationPage(ModelMap model, HttpSession session) {
. . . .
List<Firm> firmList = firmRepository.findGroupFirmsByFirm(getFirmOidFromMemberOid(getMemberOid(session)));
model.addAllAttributes(PrivateOfferPlacementUtil.getIssuingEntities(firmList));
...
.
.
}
这段代码的问题是,它在 jsp 页面上只显示了一串公司对象。我需要的是仅显示公司名称,然后当用户从列表中选择不同的公司名称时,我想在其下方显示 state、zip 等。我可以轻松地替换 getIssuingEntities 方法以返回公司名称列表而不是列表对象,但我最终将只有名称。我的问题是如何存储公司对象的列表以及选择输入上的Onchange时,我将调用公司对象上的方法并显示我想要的属性?
仅供参考:公司对象非常大,但我需要的属性少于 5 个。是否可以使用 javascript 来存储公司对象列表?How can I do it without using Ajax when there is an OnChange on the select input. 使用 ajax 可能很容易获取公司名称,搜索该对象并获取我想要的属性。但我不想那样做。
我怎样才能实现我想要实现的目标?
谢谢