java - 变量的默认下拉值

标签 java html jsp

我正在编辑屏幕上工作。我需要下拉列表来填充一个表中的预选值,并突出显示另一个表中的这些值。 我能够达到这样的程度:来自不同表的两个值都在调试语句中正确显示。

问题是... 当尝试在下拉列表中显示时,预选值不仅仅是选择现有值,而是将其添加到下拉列表中。 您能告诉我我到底在哪里输入了错误的代码吗?问题出在以下几行:

if (site.equals(SiteName)){ %> <%=SiteName%> <%
} %>

但是这个问题的解决方案是什么,有人可以告诉我吗?

这是我的代码片段。

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> 

          <%  
              } 
           %> 
              <option value="<%=siteid%>"><%=site%>  </option><%

              } 
              }catch(Exception e){
              e.getMessage();
              }
          %> 
      </select>

最佳答案

您在代码中错过了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 block 的起始位置,因此请在代码中注意这一点。我只能看到 catch block ,并且我假设您的 try block 在代码中的 for 循环之前开始。

关于java - 变量的默认下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225674/

相关文章:

java - Apache 弗林克 : read file from HDFS

javascript - 当父元素包含类 ="true"时,将子元素设置为 aria-expanded ="active"

html - 如何在jsp中为body标签使用外部CSS

java - 从 "Any JDK not found"的 helicontech 接收错误

java - 我在使用 Spring crud reprositry 时遇到问题

python - DataFrame - 来自嵌套字典的表中的表

javascript - 如何防止 ng-model 绑定(bind)属性填充输入字段

javascript - 访问查询参数的方法 JSP, JSTL, Javascript

java - Spring 启动 MVC : can't find JSP

java - Thread.currentThread().getName()在java中如何实现?