我正在编辑屏幕上工作。我需要下拉列表来填充1个表中的预选值,并突出显示另一个表中的值。 我能够在调试语句中正确显示来自不同表的两个值。
问题是...... 尝试在下拉列表中显示时,预选值不仅仅是选择现有值,而是将其添加到下拉列表中。 你能告诉我在哪里输入代码吗?问题出在以下几行:
if(site.equals(SiteName)){ %GT; <%= SITENAME%GT; <%
} %GT;
但对此有什么解决方案,有人可以告诉我吗?
这是我的代码段。
for(int i = 0; siteList!= null&& i< siteList.size(); i ++){ 站点s =(站点)siteList.get(i); int siteid = s.getID()。intValue(); site = s.getSitename();
if (site.equals(SiteName)){ %> <option selected="selected" > <%=SiteName%> </option> <% } %> <option value="<%=siteid%>"><%=site%> </option><% } }catch(Exception e){ e.getMessage(); } %> </select>
答案 0 :(得分:1)
您错过了代码中的else
。这样的事情会有所帮助:
<%
for (int i = 0; siteList != null && i < siteList.size(); i++){
Site s = (Site) siteList.get(i);
int siteid = s.getID().intValue();
site = s.getSitename();
if (site.equals(SiteName)){
%>
<option selected="selected" > <%=SiteName%> </option>
<%
} //end of if-statement
else{
%>
<option value="<%=siteid%>"><%=site%> </option>
<%
} //End of else
} //End of for
}catch(Exception e){
e.getMessage();
}
%>
</select>
注意:您尚未指定try
- 块的启动位置,因此请在代码中注意这一点。我可以看到catch
- 块,我假设您的try
块在代码中for
- 循环之前开始。