1
我已经在用于输入搜索参数并显示结果的jsp页面上设置了Spring“选择”窗体标记。 Spring form select tage允许用户选择多个项目,因为“multiple = true”选项。我遇到了问题,让结果显示突出显示选择了多个项目。弹簧窗体选择标记不会突出显示多个项目
如果用户选择单个项目,它会在窗体的重新显示时高亮显示(输入的搜索参数仍显示在页面的上半部分,搜索结果显示在下半部分)。
单项选择:
单项仍显示响应显示器上所选择的:
然而,如果选择了多个项目,所述多个选择不在结果显示上突出显示:
多个项目选择特德:在结果显示未显示
多个项目:
下面是相关的JSP代码:
行动命令:
<form:form action="/${localePath}/search/ssSearch.do" method="post" modelAttribute="searchCommand" onsubmit="return trackSearch();">
选择代码:
<tr valign="top"><td>Test Items</td><td>
<form:select path="testItems" multiple="true" size="4">
<form:option value="">All Items</form:option>
<form:options items="${testItems}" />
</form:select>
Java代码:
这里是在SearchCommand对象的 “testItems” 代码:
private String testItems;
public String getTestItems() {
return testItems;
}
public void setTestItems(String testItems) {
this.testItems = testItems;
}
这里的控制器请求代码:
@RequestMapping(value = "/*/search/ssSearch.do", method=RequestMethod.POST)
public String searchResults(HttpServletRequest request,
@ModelAttribute("searchCommand") SearchCommand command, ModelMap map)
throws Exception
{
return searchResultsDo(command, map, request);
}
这里的使用的代码填充testItems:
Map<String, String> testItemsMap = new TreeMap<String, String>();
testItemsMap.put("item1 name", "item 1 value");
testItemsMap.put("item2 name", "item 2 value");
testItemsMap.put("item3 name", "item 3 value");
testItemsMap.put("item4 name", "item 4 value");
testItemsMap.put("item5 name", "item 5 value");
testItemsMap.put("item6 name", "item 6 value");
testItemsMap.put("item7 name", "item 7 value");
testItemsMap.put("item8 name", "item 8 value");
map.addAttribute("testItems", testItemsMap);
如何在响应页面上显示多个选定项目?