select选项值在jsp页面中动态绑定,但if第一个值是Views
所有其他选项值正在成为明智的视图,如果值为Edit
,那么所有变为Edit
都无法解决问题,在plevel
arrayList
中{{1}它有Edit
或Views
值,帮助我找到解决方案....
<select id="change">
<% for (Object level : plevel) {
if (level.equals("Views")) { %>
<option><%=level%></option>
<option>Edit</option>
<%} else if (level.equals("Edit")) {%>
<option><%=level%></option>
<option>Views</option>
<% } %>
</select>
}
这是我的输出图像
答案 0 :(得分:0)
正如你在评论中提到的,你需要2个选择框,做这样的事情,这可以为每个对象一次打印一个选择框。如果您需要单独的那些尝试@vjy提到
<% for (Object level : plevel) {
if (level.equals("Views")) { %>
<select id="change1">
<option><%=level%></option>
<option>Edit</option>
</select>
<%} %>
<% else if (level.equals("Edit")) { %>
<select id="change2">
<option><%=level%></option>
<option>Views</option>
</select>
<%} %>
<%}%>
<强>更新强>
使用jstl你可以轻松完成
<c:forEach var="temp" items="${plevel}">
<c:if test="${temp eq 'Views'}">
<select id="change">
<option>${temp}</option>
</select>
</c:if>
<c:if test="${temp eq 'Edit'}">
<select id="change2">
<option>${temp}</option>
</select>
</c:if>
</c:forEach>
尝试上面的代码,将script与scriptlet分开包装。另外看看 How to avoid Java code in JSP files?
希望这会有所帮助!!
答案 1 :(得分:0)
如果您需要两个select
框,则不应将它们嵌套在单个for
循环中。试试这段代码。
<select id="change1">
<% for (Object level : plevel) {
if (level.equals("Views")) { %>
<option><%=level%></option>
<option>Edit</option>
<%} %>
<%}%>
</select>
<select id="change2">
<% for (Object level : plevel) {
if (level.equals("Edit")) { %>
<option><%=level%></option>
<option>Views</option>
<%} %>
<%}%>
</select>
最好使用jstl
代替在jsp中编写java
代码