jstl嵌套下 修改的数据保持
如题:先上代码
问题:<option ${selected_str} value="${dk.id}" >${dk.name}</option>这句话
${selected_str}总说变量未定义 我之前用的if,先换成 choose 还是不行
请高手分析一下
说明:pm_p.list得到数组,里面有一个选项是 下拉 展现的, 它的所有值
从数据库的字典表取值,即dkfs,他的每一个元素 对应一个下拉值。
<c:forEach items="${pm_p.list}" var="item_p">
<tr class="tr_data4">
<td width="18%"><input type="text" size="20" name="projectName" value="${item_p.projectName}"></td>
<td width="16%"><input type="text" size="20" name="projectAddress" value="${item_p.projectAddress}"></td>
<td width="16%"><select name="kfs" style="width:120px">
<c:forEach items="${dkfs}" var="dk">
<c:set var="selected_str"/>
<c:choose>
<c:when test="${'item_p.dInfo.id' eq 'dk.id'}">
<c:set value="selected" var="selected_str"/>
</c:when>
<c:otherwise>
<c:set value="" var="selected_str"/>
</c:otherwise>
</c:choose>
<option ${selected_str} value="${dk.id}" >${dk.name}</option>
</c:forEach>
</select></td>
<td width="18%"><input type="text" size="20" name="projectGet" value="${item_p.projectGet}"></td>
<td width="16%"><input type="text" size="20" name="projectScope" value="${item_p.projectScope}"></td>
<td width="16%"><input type="text" size="20" name="manager" value="${item_p.manager}"></td>
</tr>
</c:forEach>
------解决方案--------------------
楼主直接用三目运算符就可以搞定了,你这样容易搞错也没必要那么麻烦
直接在
HTML code
<option[color=#FF0000] ${item_p.dInfo.id == dk.id ? "selected" : ""} [/color]value="${dk.id}" >${dk.name}</option>