Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将select选项的id设置为jstl变量_Java_Jsp_Jstl_Jsp Tags - Fatal编程技术网

Java 将select选项的id设置为jstl变量

Java 将select选项的id设置为jstl变量,java,jsp,jstl,jsp-tags,Java,Jsp,Jstl,Jsp Tags,我有一个JSP页面,它将一些信息从DAO加载到select元素。 大概是这样的: <select id="dropdown" onchange="changeKa()"> <c:forEach var="ka" items="${KaList}"> <option value="<c:out value='${ka.area}' />" <c:if test="${param.selectValue == ka.area}

我有一个JSP页面,它将一些信息从DAO加载到select元素。 大概是这样的:

<select id="dropdown" onchange="changeKa()">
  <c:forEach var="ka" items="${KaList}">
    <option value="<c:out value='${ka.area}' />" 
      <c:if test="${param.selectValue == ka.area})"> selected </c:if>  >
      <c:out value="${ka.area}" />
    </option>
  </c:forEach>
</select>
<option value="<c:out value='${ka.area}' />" id="<c:out value='${ka.id_knowledgearea}' />" ...

如何解决此问题?

尝试删除所有无用的空格,如下所示:

<select id="dropdown" onchange="changeKa()">
    <c:forEach var="ka" items="${KaList}">
        <option value="<c:out value='${ka.area}'/>" <c:if test="${param.selectValue==ka.area})">selected</c:if>>
            <c:out value="${ka.area}"/>
        </option>
    </c:forEach>
</select>

<option value="<c:out value='${ka.area}'/>"

<option value="<c:out value='${ka.area}'/>" id="<c:out value='${ka.id_knowledgearea}'/>"

试试这个:

<option value="<c:out value='${ka.area}' />" <c:if test="${param.selectValue == ka.area}">selected="selected" </c:if> id="<c:out value='${ka.id_knowledgearea}'/>">
    <c:out value="${ka.area}" />
</option>

解决方案…

到目前为止,我通过将变量id_knowledgearea指定为option的label属性,成功地克服了这个问题。 像这样:

<select id="dropdown" onchange="changeKa()">
     <c:forEach var="ka" items="${KaList}">
          <option value="<c:out value='${ka.area}'/>" label="<c:out value='${ka.id_knowledgearea}'/>"
              <c:if test="${param.selectValue == ka.area})"> selected </c:if>  >
              <c:out value="${ka.area}" />
          </option>
     </c:forEach>
</select>


无论如何,我想了解如何将变量“id_knowledgearea”分配给元素“option”的id…

尝试删除这行中的空格,id的值可能是过滤器中的${ka.area}值!检查是否有任何空间!确保id_knowledgearea不包含空格。不,它是一个整数值
<option value="<c:out value='${ka.area}' />" <c:if test="${param.selectValue == ka.area}">selected="selected" </c:if> id="<c:out value='${ka.id_knowledgearea}'/>">
    <c:out value="${ka.area}" />
</option>
<select id="dropdown" onchange="changeKa()">
     <c:forEach var="ka" items="${KaList}">
          <option value="<c:out value='${ka.area}'/>" label="<c:out value='${ka.id_knowledgearea}'/>"
              <c:if test="${param.selectValue == ka.area})"> selected </c:if>  >
              <c:out value="${ka.area}" />
          </option>
     </c:forEach>
</select>