日期:2014-05-17  浏览次数:20781 次

求解决,jsp页面中嵌入ajax的问题
    我在做一个页面,页面中显示一个下拉框"用户行业",显示的是什么什么银行。
    我在该页面中,点“查询”按钮的时候,需要把数据库中取出来的什么银行显示在这个“用户行业”下拉框中,当然可以更改,可是怎么弄都不行,求解决?
   
以下这是页面初始化显示的“用户行业”
<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>


请问这里该如何配置啊,找不到好的方法啊
------最佳解决方案--------------------
把这个<%=syhhy%> 改称el表达式
<c:if test='${ syhhy == at["SID"]}'>selected</c:if>
------其他解决方案--------------------
一般来说在领域表达式(el表达式)内是没有必要再重复一个领域表达式(jsp变量引用语法)去界定一个变量了

不过看到这个提示:
Unterminated &lt;c:if tag 

词法解析器是不是认为<c:if tag没有闭拢,是由什么引起的呢?是不是这个<%=syhhy%>
------其他解决方案--------------------
改成这样:
   <option value="${at['SID'] }" <c:if test="${ " +<%=syhhy%> + "==at['SID']}">selected</c:if> >${fn:trim(at['SNAME']) }</option>

则页面都不能显示,显示错误:Unterminated &lt;c:if tag
------其他解决方案--------------------
<%=syhhy%>是从后台取到jsp页面的值,比如为"03"
------其他解决方案--------------------
<c:if test="x eq y">
<option value=""></option>
</c:if>
------其他解决方案--------------------
引用:
把这个<%=syhhy%> 改称el表达式
<c:if test='${ syhhy == at["SID"]}'>selected</c:if>



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