select标签获取不到值
我在categoryServlet中将所有categoryName放到一个集合里,把集合放到request中,到addBook.jsp中用c:foreach遍历却得不到里面的值,请老师看一下怎么回事。
package com.imooc.servlet;
/**
* 图书分类的servlet
*/
import com.imooc.dao.LibDaoImpl;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class CategoryServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
//接收来自category.jsp的数据
Long id = Long.valueOf(request.getParameter("id"));
String categoryName = request.getParameter("categoryName");
String desc = request.getParameter("desc");
LibDaoImpl libDao = new LibDaoImpl();
List<Map<String,Object>> categoryDb = libDao.getCategoryDb();
List<String> categoryNameList = libDao.getCategoryNameList();
for(Map<String,Object> map:categoryDb){
if(map.get("id").equals(id) | map.get("categoryName").equals(categoryName)){
request.setAttribute("msg","id或类名已存在,请重新输入!");
request.getRequestDispatcher("/category.jsp").forward(request,response);
return;
}
}
libDao.addBookCategory(id,categoryName,desc);
//将categoryName存放到categoryNameList集合中,以便在addBook.jsp的<c:foreach>中获取
categoryNameList.add(categoryName);
System.out.println(categoryNameList);
request.setAttribute("categoryNameList",categoryNameList);
return;
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}<tr>
<td>图书分类</td>
<td>
<select name="categoryName" >
<c:forEach var="categoryName" items="${requestScope.categoryNameList}" >
<option value="${categoryName}">${categoryName}</option>
</c:forEach>
</select>
</td>
</tr>7
收起
正在回答
5回答
同学你好,可以根据提示,在LibDaoImpl中添加图书分类的集合。如:

然后添加分类后,将分类信息存放在集合中。在添加分类后,就可以转发到其他的页面。在添加图书的jsp页面,可以获取静态集合中的分类信息。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
从网页搭建入门Java Web2018版
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10204 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程



恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星