JavaScriptを使用してオンラインショッピングアプリケーションを作成しようとしていますが、アイテムの作成と作成されたすべてのオーダーの作成と表示の両方が可能です。オンラインストアJavaScriptを使用しています
IndexPage.jsp
<html>
<head>
<title>Order Item Editing</title>
</head>
<body>
<h1>Welcome to the Online Supermarket</h1>
<h2>Please select one of the following options</h2>
<div>
<a href="/items/" class="btn btn-default">Items</a>
<a href="/orders/" class="btn btn-default">Orders</a>
</div>
</body>
</html>
itemHomepage.jsp
<html>
<head>
<title>Summary of Items</title>
</head>
<body>
<h2>Item Information</h2>
<section>
<a href="/item/itemDetails" class="btn btn-default">Add a new item</a>
<a href="/" class="btn btn-default">Return to the home page</a>
<p/>
</section>
<section>
<table class="TFtable">
<tr>
<td><h3>Item Id</h3></td>
<td><h3>Name</h3></td>
<td><h3>Description of Item </h3></td>
<td><h3>Cost</h3></td>
<td><h3></h3></td>
<td><h3></h3></td>
</tr>
<c:forEach items="${itemList}" var="item">
<tr>
<td><c:out value="${item.getItemId()}"/></td>
<td><c:out value="${item.getItemName()}"/></td>
<td><c:out value="${item.getItemDescription()}"/></td>
<td><c:out value="${item.getItemCost()}"/></td>
<td><a href="/item/itemDetail?itemId=${item.getItemId()}">Edit Item</a></td>
<td><a href="/item/delete?itemId=${item.getItemId()}">Delete Item</a></td>
</tr>
</c:forEach>
</table>
</section>
</body>
</html>
itemDetail.jsp
OrderHomepage.jsp
<html>
<head>
<title>Summary of Orders</title>
</head>
<body>
<h2>Summary of Orders</h2>
<section>
<a href="/order/detailsOfOrders" class="btn btn-default">Add a new order</a>
<a href="/" class="btn btn-default">Return to the Homepage</a>
<p/>
</section>
<section>
<table class="TFtable">
<tr>
<td><h3>Order Id</h3></td>
<td><h3>Total Cost</h3></td>
<td><h3></h3></td>
<td><h3></h3></td>
</tr>
<c:forEach items="${listOfOrders}" var="order">
<tr>
<td><c:out value="${order.getOrderId()}"/></td>
<td><c:out value="${order.getOrderCost()}"/></td>
<td><a href="/order/detailsOfOrders?orderId=${order.getOrderId()}">Edit</a></td>
<td><a href="/order/delete?orderId=${order.getOrderId()}">Delete</a></td>
</tr>
</c:forEach>
</table>
</section>
</body>
</html>
detailsOfOrders.jsp
<html>
<head>
<title>Order Information</title>
</head>
<body>
<h2>Order Information</h2>
<table>
<form:form method="POST" commandName="order" action="/order/addOrder">
<tr>
<td> <form:label path="id">ID: </form:label> </td>
<td> <form:input path="id" readonly="true"/> </td>
</tr>
</table>
</form:form>
<section>
<a href="/itemDetail" class="btn btn-default">Add new item</a>
<a href="/order/" class="btn btn-default">Show all orders</a>
<p/>
</section>
<table class="TFtable">
<tr>
<td><h3>Item Id</h3></td>
<td><h3>Name of Item</h3></td>
<td><h3>Price</h3></td>
<td><h3>Amount</h3></td>
<td><h3>Total Cost</h3></td>
<td><h3></h3></td>
<td><h3></h3></td>
</tr>
</table>
</body>
</html>
:
私がこれまでに以下のコードを書かれています
示すように、私は、コントローラを作成しました:
package eMarket.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import eMarket.EMarketApp;
import eMarket.domain.Product;
import eMarket.domain.Order;
@Controller
@RequestMapping("/order")
public class OrderController {
@RequestMapping("/")
public String index(Model model) {
model.addAttribute("listOfOrders", EMarketApp.getShop().getlistOfOrders());
return "form/orderHomepage";
}
@RequestMapping(value = "/orderDetail", method = RequestMethod.GET)
public String orderDetail(@ModelAttribute("order") Order order, @RequestParam(value="orderId", required=false, defaultValue="-1") int orderId) {
if (orderId >= 0) {
// modify
Order o2 = EMarketApp.getShop().getlistOfOrders().stream().filter(o -> (((Order) o).getId() == orderId)).findAny().get();
order.setId(o2.getId());
} else {
// add
order.setId();
}
return "form/orderDetail";
}
ItemController.java
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import eMarket.EMarketApp;
import eMarket.domain.Product;
import eMarket.domain.Order;
import eMarket.domain.Item;
@Controller
@RequestMapping("/item")
public class ItemController {
@RequestMapping("/")
public String index(Model model) {
model.addAttribute("listOfItems", EMarketApp.getShop().getListOfProducts());
return "form/productHomepage";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String productMaster(@ModelAttribute("product") Product product, Model model) {
EMarketApp.getShop().getListOfProducts().removeIf(p -> (p.getProductId() == product.getProductId()));
EMarketApp.getShop().getListOfProducts().add(product);
model.addAttribute("itemList", EMarketApp.getShop().getListOfProducts());
return "item/itemDetail";
を私が新しい順にアイテムを試み、何らかの理由については、私は再び向けられていませんよitemDetailページに移動します。私はどこに間違っているのかアドバイスできますか? itemsHomePage.jspで
<a href="/item/itemDetails" class="btn btn-default">Add a new item</a>
によって示されるように、私はあなたのItemControllerのクラスレベル@RequestMappingであると仮定
このJavaScriptを、 "Javaのサーバーページ" のためではない略jsp' Javascriptを –
'とは関係ありません。 – Pointy