变量的默认下拉值

时间:2012-09-01 07:03:05

标签: java html jsp

我正在编辑屏幕上工作。我需要下拉列表来填充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>

1 个答案:

答案 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 - 循环之前开始。