在jsp中遇到condtion时不调用servlet

时间:2016-11-04 11:12:00

标签: java jsp servlets

我在java脚本中执行add to cart,它应该调用servlet addtocart.jlc,如下所示。

<%@page import = "java.util.*" %>
<html>
<body>
<center>
<h1>JLC book store</h1>
<h2>JLC book search</h2>
<font color = "green" size = '6'> ${ADDED}</font>
</center>
<br/>
<%Object obj = request.getAttribute("MSG");
  if(obj != null) { // if condtion
      %>
      <br/> <center>
            <font color = "red" size = "6">  
             <%=obj%>
            </font>
            <br/><a href = "index.jsp"> 
            <h2> GO TO SEARCH PAGE1 </h2></a>
            </center>
   <%} else { // if condition end and else condition open
       obj = session.getAttribute("BOOKS");
       ArrayList<String> blist = (ArrayList<String>)obj;
       for(String bnm:blist) { 
   %>
   <form action="addtocart.jlc" method="post">
   <input type = "hidden" name = "bname" 
     value = "<%=bnm%>" />
   <font size = '5'> <%=bnm%> <input type = "submit" 
       value = "ADD TO CART" />
   </font>
   </form>
   <% } %> 
   <form action = "showcart.jlc">
   <input type = "submit" value = "SHOW CART" /> 
   </form>
   <% } %> 


</body>
</html>

当我跑到上面的程序时,我得到如下所示的输出,这是在if条件下。我没有得到什么是错误。我是jsp的新手,这是我的讲座给出的打印件。我正在努力但却无法得到什么是bug。我正在使用eclipse EE和tom cat服务器。

JLC书店 JLC书籍搜索  没有找到categorynull的书籍

前往搜索第1页

1 个答案:

答案 0 :(得分:0)

从您的输出中我可以看到,在此请求期间的某个时刻,“找不到包含categorynull的书籍”已设置为您的请求的“MSG”属性。请在请求到达此文件之前尝试关注。
我不知道.jlc扩展名是什么,但从它的外观来看这是一个.jsp文件,所以你的请求可能在到达这一点之前经历了一个HttpServlet

request.setAttribute("MSG", "No books found with categorynull");

被召唤。
此外,错误消息表明需要使用?category = xxx查询调用此请求,并且相同的servlet应该获取该类别的书籍列表并调用

request.setAttribute("BOOKS", ...);

如果我是你,我会在整个源代码中对字符串.setAttribute执行文本搜索(“BOOKS”