【实例】仿购物车原理-高级Action应用一(普通传参方式)
2015-02-12 16:35
288 查看
在buy.jsp页面显示一个表单,填入书本名称点击按钮,将书本加入购物车,页面底部显示购物车中的书名;
每本书后面都有一个链接:删除,点击能够删除这本书
详细阅读【实例】仿购物车原理-高级Action应用二(通过DispatchAction方式)
缺陷:每增加一个用例(方法),都要增加一个Action.java页面,通过DispatchAction类,可使不同的用例(方法),写在一个Action.java 里面
部分代码如下
buy.jsp页面(删除功能需要完善)
ActionForm页面(BuyForm.java)
Action页面(BuyAction.java)
struts-config.xml配置文件
每本书后面都有一个链接:删除,点击能够删除这本书
总结
功能:1.在文本框输入图书名称,可添加到购物车;2.通过点击图书名后面的删除,删除购物车的图书(删除方法需要完善)详细阅读【实例】仿购物车原理-高级Action应用二(通过DispatchAction方式)
缺陷:每增加一个用例(方法),都要增加一个Action.java页面,通过DispatchAction类,可使不同的用例(方法),写在一个Action.java 里面
部分代码如下
buy.jsp页面(删除功能需要完善)
<%@ page language="java" pageEncoding="gb2312"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%> <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic"%> <html> <head> <title>添加图书到购物车</title> </head> <body> <html:form action="/buy" method="post"> 请填写您要买的图书 : <html:text property="book"/><br/> <html:submit value="点击提交到购物车"/> </html:form> <hr/> <logic:present name="cart"> <logic:iterate id="book" name="cart"> <bean:write name="book"/> <html:link action="/delete.do" paramId="Book" paramName="book">删除</html:link><br/> </logic:iterate> </logic:present> </body> </html>
ActionForm页面(BuyForm.java)
public class BuyForm extends ActionForm { //生成book成员属性的get与set方法 private String book; }
Action页面(BuyAction.java)
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package guo_demo5.action; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import guo_demo5.form.BuyForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class BuyAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { BuyForm buyForm = (BuyForm) form;// TODO Auto-generated method stub String book = buyForm.getBook(); try { book = new String(book.getBytes("ISO-8859-1")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } HttpSession session = request.getSession(); ArrayList cart =(ArrayList)session.getAttribute("cart"); if(cart==null){ cart = new ArrayList(); session.setAttribute("cart", cart); } cart.add(book); return new ActionForward("/buy.jsp"); } }
struts-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans > <form-bean name="buyForm" type="guo_demo5.form.BuyForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="buyForm" input="/buy.jsp" name="buyForm" path="/buy" scope="request" type="guo_demo5.action.BuyAction"> <set-property property="cancellable" value="true" /> </action> </action-mappings> <message-resources parameter="guo_demo5.ApplicationResources" /> </struts-config>
相关文章推荐
- 【实例】仿购物车原理-高级Action应用二(通过DispatchAction方式)
- 【实例】仿购物车原理-高级Action应用三(通过MappingDispatchAction方式)
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- 【实例】struct框架一个表单两个提交按钮-高级Action应用三(LookupDispatchAction应用)
- [网络收集]asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- 购物车的两种存储方式Session和Cookie的应用实例
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- asp.net中购物车的两种存储方式Session和Cookie的应用实例
- [网络收集]asp.net中购物车的两种存储方式Session和Cookie的应用实例
- I2C总线原理及应用实例
- 从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例
- I2C总线原理及应用实例
- [高级技巧]Orion Alert macro应用实例
- 普通51单片机驱动3.5寸TFT的应用实例
- LINUX高级应用之IPTABLES 实例分析
- iptables高级应用实例(转)
- JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
- I2C总线原理及应用实例
- 快速排序原理解析及实例应用