问题与需求:
功能需求分析:有一个果商主要出售4种水果,苹果apple、香蕉balanna、梨pear、菠萝pineapple。“新冠”疫情期间衍生出了新型购买模式-“果商-小区”模式,如何将该果商的四种水果让各小区居民知晓并由用户提交水果订单、用户查看相应订单数据等是选购的重要功能环节之一。
数据需求分析:每一种水果,应至少包含英文名、中文名、购买数量、图片等信息。
果卉团-选购功能设计:
根据“将该果商的四种水果让各小区居民知晓并由用户提交水果订单”需求,应设计一个“加入购物车”的功能页面。根据目前已学的技术,可以通过设计fruitslist.jsp完成。
根据"用户查看相应订单数据"需求,应设计一个“查看购物车”的功能页面。根据目前已学的技术,可以通过设计seeit.jsp完成。
关键技术点:如何将用户选购的水果数据存放到“购物车”,用户可以查看“购物车”,这个“购物车”可以通过session机制来实现。
具体实现:
版本1:能提供水果名的选购
四种水果名用一个String[]表示。
String[] fruits={"apple","balanna","pear","pineapple"};
fruitslist.jsp的界面设计:
<body>
<form>
<table style="border:2px solid;color:red;">
<tr><td>序号</td><td>选择水果</td></tr>
<%
String[] fruits={"apple","balanna","pear","pineapple"};
for(int i=0;i<fruits.length;i++){
%>
<tr>
<td>
<%=i+1 %>
</td>
<td>
<input type="checkbox" name="select" value=<%=fruits[i] %>><%=fruits[i] %>
</td>
</tr>
<%
}
%>
</table>
<input type="submit" value="加入购物车">
</form>
</body>
通过request获得用户的选择项目,再转储到session中的功能代码:
<%
if (request.getParameterValues("select")!=null){
session.setAttribute("all", request.getParameterValues("select"));}
%>
購物車頁面:
从session中访问这些选择选择项目:
<%
String[] arr= (String[])(session.getAttribute("all"));
for(int j=0;j<arr.length;j++){
%>
<%=arr[j] %>
<%} %>
版本2:能提供水果名、选择数量的选购功能
图1 图2
参考代码:
<body>
<form action="fruitslist.jsp">
<table>
<tr><td>序号</td><td>选择水果</td><td>选择数量</td></tr>
<%
String[] fruits={"apple","balanna","pear","pineapple"};
for(int i=0;i<fruits.length;i++){
%>
<tr>
<td><%=i+1 %></td>
<td><input type="checkbox" name="select" value=<%=fruits[i] %>><%=fruits[i] %></td>
<td><select name="<%=fruits[i] +"num"%>">
<option value="1">1Kg</option><!-- 此处各选项可通过for循环实现 -->
<option value="2">2Kg</option>
</select>
</td>
</tr>
<%} %>
</table>
<input type="submit" value="加入购物车">
</form>
<%
if (request.getParameterValues("select")!=null){
session.setAttribute("all", request.getParameterValues("select"));
%>
您的选择为:<br>
<%
String[] arr= (String[])(session.getAttribute("all"));
for(int j=0;j<arr.length;j++){
session.setAttribute(arr[j]+"num", request.getParameter(arr[j]+"num"));
%>
<%=arr[j] %>
<%=session.getAttribute(arr[j]+"num") %>Kg<br>
<%}} %>
<br>
<a href="seeit.jsp">去购物车看看吧</a>
</body>
版本3:能提供水果名、选择数量、水果图片的选购功能
参考运行效果:
参考代码:(略)
提示:图片名可以设置为apple.jpg、balanna.jsp等,这样就可以通过for循环动态生成img标记了。^_^
本页面内容全部由作者姚远原创,请使用者写明出处后再行使用。

