美好的一天。
我真的很难问我今天花了一整天的时间来思考。
您可以在此网址:https://github.com/Vadim32/RemoteWebContent
好的,现在是问题所在: 我需要制作用户订单的购物车。用户可以订购以下活动:开发软件或计算机维护。 所以为此我有servlet:
public class EventNewUserServlet extends HttpServlet {
//-------------------------Variables------------------------
private static final long serialVersionUID = 1L;
protected WebContentDAOIF webContentDAOIF;
//-------------------------Servlet methods------------------
public void init() {
/*Getting bean from spring ContextLoaderListener and inject it to webContentDAOIF variable
to use webContentDAOIF in this servlet*/
ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
webContentDAOIF = context.getBean("webContentDAOImpl", WebContentDAOIF.class);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<UserEvents> userEventsList = new ArrayList<UserEvents>(2); //This list store all user orders
}
}
所以我在doPost方法中有List<UserEvents> userEventsList
,它将存储用户订购的事件,例如:ComputerMaintenanceEvent或SoftwareDevelopmentEvent,它们都是从UserEvents类扩展的
在这个jsp页面上:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Order event page</title>
<!-- Bootstrap css responsive-->
<link href="resources/css/bootstrap.css" rel="stylesheet">
<link href="resources/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body>
<!-- JQuery and Bootstrap file-->
<script src="resources/js/jquery-1.10.2.min.js"></script>
<script src="resources/js/bootstrap.min.js"></script>
<script src="resources/js/jquery.scrollTo.js"></script>
<script src="resources/js/jquery.nav.js"></script>
<h1>New user</h1>
<form action="new-user-event" method="post">
<input type="hidden" name="userSessionId" value="${userSessionId}">
<table align="center">
<tr><td>Event type:</td><td>
<select name="event_type">
<option>Choose event type</option>
<option>Computer Maintenance Event</option>
<option>Software Development Event</option>
</select>
</td></tr>
<tr><td>Event date:</td> <td><input type="text" class="span2" name="user_event_date"></td></tr>
<tr><td>Event description:</td> <td><textarea rows="5" name="description"></textarea></td></tr>
<tr><td>Additional Info:</td> <td><input type="text" class="span2" name="additional_info"></td></tr>
<tr><td>First name:</td> <td><input type="text" class="span2" name="first_name"></td></tr>
<tr><td>Last name:</td> <td><input type="text" class="span2" name="last_name"></td></tr>
<tr><td>E-male:</td> <td><input type="text" class="span2" name="e_male"> </td></tr>
<tr><td>Address:</td> <td> <input type="text" class="span2" name="address"></td></tr>
<tr><td>Phone number:</td> <td> <input type="text" class="span2" name="phone_number"></td></tr>
<tr><td><input type="submit" value="Regester user"></td></tr>
</table>
</form>
</body>
</html>
用户将订购实际事件(将下订单)。
所以要求是:
我不想让另一个servlet在list中存储对象,另一个servlet用于存储数据库中的事件列表。
我想首先在会话中收集事件的对象,或者只是将它们添加到没有servlet的列表中(可能以某种方式使用jsp或javascripts),当用户在网页上添加按钮时,他可以添加尽可能多的事件他想要在列表中的事件以及在同一个jsp页面上的表单中的提交按钮之后将触发实际的servlet将所有收集的事件从列表保存到数据库?
是否可以这样做?
谢谢开发人员希望您能帮助我阅读一些很棒的教程或文档。
答案 0 :(得分:0)
在我看来,如果点击添加按钮,您想暂时存储事件。最后只需点击提交按钮就会将以前临时存储的事件更新到数据库,对吧?
答案很简单,只要想到你在亚马逊购物,首先将一些产品添加到购物车,你选择的产品将存储到客户计算机中的cookie中。最后,检查您选择的所有产品,这里的servlet将从cookie中读取存储的产品,然后将它们保存到数据库中。所以我认为你可以这样做。