表单有两个字段 1个文本字段(例如,它是学生ID)和1个下拉列表(cate_id)(其余的不必要的讨论)
一旦页面加载,Dropdownlist值就来自db。
当我根据学生ID提交jsp页面时,我会将学生对象返回到同一个jsp页面,并且必须在表单字段中呈现对象值。
我面临的问题是,当我提交页面时,它没有在下拉列表中显示学生的cate_id。(显示所有cate_id)
示例:
学生已在文本字段中输入100,其相应的类别ID(例如,新鲜,研究生或初级等)应显示在下拉列表中,而不是数据库中的所有值。
这是我的代码。
/ *
<sql:setDataSource driver="sun.jdbc.odbc.JdbcOdbcDriver"
url="jdbc:odbc:lab"
var="localSource"
/>
<sql:query dataSource="${localSource}"
sql="select cate_id,cate_desc from category"
var="result" />
<select name="cate_id">
<c:forEach items="${result.rows}" var="r">
<c:choose>
<c:when test="${r.cate_id eq a }"> // I got a value from request.getattribute
<option value="${r.cate_id}" selected="selected">${r.cate_desc}</option>
</c:when>
<c:otherwise>
<option value="${r.cate_id}">${r.cate_desc}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
答案 0 :(得分:0)
范围是这里的问题
<c:when test="${r.cate_id eq a }">
I havent created usebean variable earlier.
just created variable with name a in scriptlet.
Created usebean variable. It is working now
<jsp:useBean id="student" class="student.Student" scope="application"/>
In dropdownlist code modified as
<c:when test="${r.cate_id eq student.cate_id}">