一,通过Java代码实现回显
首先获取回显对象的ID
${pageContext.request.contextPath}/servlet/findBookByIdServlet?id=${b.id }
在servlet中通过FinBookByIdServlet.java调用Dao层的实现方法,获取到Book对象,之后将Book对象放在SertvletRequest对象中,之后重定向到回显的地方
String id = request.getParameter("id");
BookServiceImpl bs = new BookServiceImpl();
Book book = bs.findBookById(id);
request.setAttribute("book",book);
request.getRequestDispatcher("/admin/products/edit.jsp").forward(request, response);
在edit.jsp中用EL表达式可以简便的显示回显数据
<input type="text" name="name" class="bg" value="${book.name }"
<textarea name="description" cols="30" rows="3" style="WIDTH: 96%"> ${book.description } </textarea>
二,用EL+js实现下拉列表的回显
在页面加载时就把category传给js
<body οnlοad="setProductCategory('${book.category}')">
在<select>中设置id ="category",在js中得到id,通过id得到下拉列表中所有option标签数组,
遍历数组找到和开始传过来的category一致的值,select列表中就可以显示
<script type="text/javascript">
//设置类别的默认值
function setProductCategory(t) {
var category = document.getElementById("category");//得到下拉列表
var ops = category.options;//得到下拉列表中的所有option标签数组
for ( var i = 0; i < ops.length; i++) {
if (ops[i].value == t) {//判断哪一个option选项中的value值与t(当前书的类名称)相等
ops[i].selected = true;//相等则把selected=selected加上
return;
}
}
};
</script>