我有一个从我的xml填充的列表。这包含一组值,例如A,B,C,D和E. 我正在使用此列表出现在JSP的下拉菜单中。无论如何我只能在下拉菜单中填充A,B,C和D,而不修改xml而不是'E'?
<% List services = AccountingCRCWrapper.getInstance().getServicesList();%>
<td width="60%"class="value">
<select name ="service" id="service">
<%if (services!=null && services.size()>0){
LabelValueBean service = null;
String value = "";
String text = "";
for (int i=0; i<services.size(); i++){
String Selected = "";
service = (LabelValueBean)services.get(i);
value = service.getLabel();
text = service.getValue();
if (value.equalsIgnoreCase(AccountingConstants.IWF_SERVICE)){
Selected = "selected";
}
if(value.equalsIgnoreCase("b2b_analytics_si"){
continue;
}
%>
<option value="<%=value%>" <%=Selected%> ><%=text%></option>
<%} }%>
</select>
</td>
</tr>
答案 0 :(得分:0)
对于注释,不建议使用jsp文件中的Scriptlet标记。见BalusC Answer - How to avoid Java code in JSP files?
在显示options
<% if(!value.equalsIgnoreCase("value_to_be_hide"){%>
<option value="<%=value%>" <%=Selected%> ><%=text%></option>
<%}%>
答案 1 :(得分:0)
您可以使用核心库中提供的 C:if
标记隐藏任何行
以下是示例代码:
<form:select path="comboBox">
<form:option value="-1"> </form:option>
<c:forEach var="val" begin="1" end="12">
<c:if test="${val < 10}">
<c:set var="val" value="0${val}"></c:set>
</c:if>
<form:option value="${val}">${val}</form:option>
</c:forEach>
</form:select>