根据id,书名,分类查询,请老师给点思路

根据id,书名,分类查询,请老师给点思路

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

Servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String bookID=request.getParameter("valueofbookID");
        String bookName=request.getParameter("bookName");
        String catgoryName=request.getParameter("catgoryName");
         
        LibDaoImpl li=new LibDaoImpl();
        List<Book> books=li.getBook();
        // 将满足条件的数据回写给ajax
        JSONArray jsonArray = new JSONArray(books);
        response.getOutputStream().write(jsonArray.toString().getBytes("utf-8"));
    }

jsp:

success:function(result){
					var books = eval(result);
					var content=null;
					for(var i in books){
						var bookId = books[i].bookId;
						var bookName = books[i].bookName;
						var bookCatgory = books[i].bookCatgory;
						var bookPrice = books[i].bookPrice;
						var bookDescribe = books[i].bookDescribe;
						content = content+"<tr><td>"+bookId+"</td><td>"+bookName+"</td><td>"+bookCatgory+"</td><td>"+bookPrice+"</td><td>"+bookDescribe+"</td></tr>";
						$("#cont>tr").remove();
					}
					$("#cont").html(content);
				}

修改后的代码如上所示:

同学可以通过JSONArray 把数据写到页面上,然后把获取到的数据写到页面上。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 摄影祖师爷 提问者 #1
    JSONArray jsonArray = new JSONArray(books); 这个是把books中所有的book都传给jsp页面把,我试了下,这样子查询,还是会显示所有的book信息
    2018-09-13 17:50:56
提问者 摄影祖师爷 2018-09-13 18:11:14
LibDaoImpl li=new LibDaoImpl();
		List<Book> books=li.getBook();
		List<Book> books2=new ArrayList<Book>();
		JSONObject obj=null;
		JSONArray jsonarray=null;
		if(bookID!=null&&bookName==null&&catgoryName==null) {
			for (Book book : books) {
				if(book.getBookId().equals(bookID)) {
					System.out.println(book);
					books2.add(book);
					jsonarray=new JSONArray(books2);
					break;
				}
			}
		}
		response.getOutputStream().write(jsonarray.toString().getBytes("utf-8"));

	}

老师,这样子,就可以了,建立一个空的book集合,然后将符合条件的book放进这个新的集合里面,把这个新的集合带到ajax,谢谢老师的思路。

提问者 摄影祖师爷 2018-09-13 15:34:45

http://img1.sycdn.imooc.com//climg/5b9a12a00001106206680628.jpg

我想通过ajax获取id或者书名或者分类,然后将book的各个属性值通过json带过来,然后重新给表格赋值,但是,不知道怎么将book的属性带到jsp页面。

public class ShowBookServlet extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String bookID=request.getParameter("valueofbookID");
		String bookName=request.getParameter("bookName");
		String catgoryName=request.getParameter("catgoryName");
		
		LibDaoImpl li=new LibDaoImpl();
		List<Book> books=li.getBook();
		JSONObject obj=null;
		if(bookID!=null&&bookName==null&&catgoryName==null) {
			for (Book book : books) {
				if(book.getBookId().equals(bookID)) {
					obj=new JSONObject("{}");
				}
			}
		}
	}


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师