Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP中用于将项目添加到购物篮的超链接_Java_Html_Jsp - Fatal编程技术网

Java JSP中用于将项目添加到购物篮的超链接

Java JSP中用于将项目添加到购物篮的超链接,java,html,jsp,Java,Html,Jsp,我正在尝试将产品(在viewProduct.jsp中)添加到一个篮子(basket.jsp)。 我对JSP相当陌生。我知道这是通过在viewProduct.jsp中使用到basket.jsp的适当超链接实现的。我已经在viewProduct.jsp中的标记中写了一行很长的代码,我希望超链接在哪里。谢谢 viewProduct.jsp <%@ page import="shop.Product"%> <jsp:useBean id='db' scope

我正在尝试将产品(在
viewProduct.jsp
中)添加到一个篮子(
basket.jsp
)。 我对JSP相当陌生。我知道这是通过在
viewProduct.jsp
中使用到
basket.jsp
的适当超链接实现的。我已经在
viewProduct.jsp
中的
标记中写了一行很长的代码,我希望超链接在哪里。谢谢

viewProduct.jsp

<%@ page import="shop.Product"%>

<jsp:useBean id='db'
             scope='session'
             class='shop.ShopDB' />

<html>
<head>
<title>My Shop</title>
</head>
<body>
<%
    String pid = request.getParameter("pid");
    Product product = db.getProduct(pid);
    // out.println("pid = " + pid);
    if (product == null) {
        // do something sensible!!!
        out.println( product );
    }
    else {
        %>
        <div align="center">
        <h2> <%= product.title %>  by <%= product.artist %> </h2>
        <img src="<%= product.fullimage %>" />
        <p> <%= product.description %> </p>
        <p> -------------------------- link goes here -------------------</p>
        </div>
        <%
    }
%>
</body>
</html>

我的商店
通过
" />

------------------------------链接到这里-------------------

basket.jsp

<%@ page import="java.util.Collection,
                 java.util.Iterator"%>

<jsp:useBean id='basket'
             scope='session'
             class='shop.Basket'
        />

<%
  String empty = request.getParameter("emptyBasket");
  if (empty!=null) {
    basket.clearBasket();
  }
  String item = request.getParameter("addItem");
  basket.addItem(item);
%>

<html>

<body>

<% Collection items = basket.getItems();
  for (Iterator i = items.iterator(); i.hasNext(); ) {
    out.println( "<p>" + i.next() + "</p>" );
  }

%>

<p> Order total = <%= basket.getTotalString() %>

    <%
    if ( basket.getTotal() > 0) {
        %>
<form action="order.jsp" method="post">
  <input type="text" name="name" size="20">
  <input type="submit" value="Place Order" />
</form>

<form action="basket.jsp" method="get">
  <input type="hidden" name="emptyBasket" value="yes">
  <input type="submit" value="Empty Basket" />
</form>
<%
  }
%>



</body>

</html>

订单总数=
0) {
%>

您可以从
basket.jsp中看到,如果您有一个名为
addItem
的参数,那么它将被添加到
basket

那你呢

<p> <%= product.description %> </p>
<!-- use pid -->
<a href="basket.jsp?additem="<%=pid%>><%= product.description %></a>

尽管使用JSTL标记会更好。
请参见

JSP仅用于显示,不应包含java代码。请将其分开,这样您就有了servlet用于控件,JSP用于display@ScaryWombat这不取决于我。我们被指示以这种方式书写,所以现在我正试图充分利用最坏的情况。出于某种原因,它似乎没有显示它被添加了:/链接是否正常?是否调用了basket.addItem?它调用了方法,但没有传递值。我正在尝试g将product.PID传递给basket.jsp中的item,但当我在它调用该方法后打印它时,它将打印null而不是应该打印的字符串更新我的代码以使用
PID
如果您只使用浏览器,您可以添加然后的项吗?刚刚解决了它,但感谢您的帮助。即使我是lite,我也会接受它作为答案拉力赛刚刚修正:p