我在做一个页面,页面中显示一个下拉框"用户行业",显示的是什么什么银行。
    我在该页面中,点“查询”按钮的时候,需要把数据库中取出来的什么银行显示在这个“用户行业”下拉框中,当然可以更改,可是怎么弄都不行,求解决?
   
以下这是页面初始化显示的“用户行业”
<td width="194" bgcolor="#DEFFF6" align="left">
  <select name="syhhy" id="syhhy">         
    <option value="">所有用户行业</option>
    <c:forEach var="at" items="${atlist}"> 
      <option value="${at['SID'] }">${fn:trim(at['SNAME']) }</option>           
    </c:forEach>
  </select>
</td>我通过查询后传了一个值给这个页面,也取过来了,可是该如何按我的要求显示呢,这是我的方法,总是不成功
<td width="194" bgcolor="#DEFFF6" align="left">
  <select name="syhhy" id="syhhy">         
    <option value="">所有用户行业</option>
    <c:forEach var="at" items="${atlist}"> 
<option value="${at['SID'] }" <c:if test="${ " +'<%=syhhy%>' + "==at['SID']}">selected</c:if> >${fn:trim(at['SNAME']) }</option>           
    </c:forEach>
  </select>
</td>
请问这里该如何配置啊,找不到好的方法啊

解决方案 »

  1.   

    改成这样:
       <option value="${at['SID'] }" <c:if test="${ " +<%=syhhy%> + "==at['SID']}">selected</c:if> >${fn:trim(at['SNAME']) }</option>则页面都不能显示,显示错误:Unterminated &lt;c:if tag
      

  2.   

    <%=syhhy%>是从后台取到jsp页面的值,比如为"03"
      

  3.   

    <c:if test="x eq y">
    <option value=""></option>
    </c:if>
      

  4.   

    把这个<%=syhhy%> 改称el表达式
    <c:if test='${ syhhy == at["SID"]}'>selected</c:if>
      

  5.   

    这样真的行,晕死了,我以为必须要用<%  %>才能引用到值的呀
      

  6.   

    一般来说在领域表达式(el表达式)内是没有必要再重复一个领域表达式(jsp变量引用语法)去界定一个变量了不过看到这个提示:
    Unterminated &lt;c:if tag 词法解析器是不是认为<c:if tag没有闭拢,是由什么引起的呢?是不是这个<%=syhhy%>