好的,我已经创建了一个与搜索字段关联的DropDownList。我想要做的是,在下拉列表中进行选择会导致基于选择触发的方法,并对其进行搜索。我以为我会做像List.contains这样的事情,并以此为基础,但它似乎并没有起作用。
我有一个arraylist设置来填充下拉列表,以及控制器中if语句的开头。
List<String []> propertyList = new ArrayList<String []>();
propertyList .add(new String[]{"EmailAddress","Email"});
propertyList .add(new String[]{"FirstName","First Name"});
propertyList .add(new String[]{"LastName","Last Name"});
mav.addObject("propertyList ", propertyList
if (propertyList .contains("LastName")) {
\\Code that needs to fire
}
任何建议都将不胜感激。
答案 0 :(得分:2)
您的 propertyList 是对象 (i.e Array of String)
的列表,
所以
propertyList .contains("LastName")
永远不会满足条件,您需要List<String>
而不是List<String []>
如果您想要键值对
,则可以使用Map<String,String>
Map<String,String> propertyList = new HashMap<String,String>();
propertyList.put("EmailAddress","Email");
propertyList.put("FirstName","First Name");
propertyList.put("LastName","Last Name");
mav.addObject("propertyList ", propertyList);
if (propertyList.containsKey("LastName")) { // Here you can check the key
\\Code that needs to fire
}
<强>更新强>
如何在jsp中迭代Map
<c:forEach var="entry" items="${propertyList}">
<c:out value="${entry.key}"/>
<c:out value="${entry.value}"/>
</c:forEach>