【实例】仿购物车原理-高级Action应用一(普通传参方式)

来源:互联网 发布:snai.it 编辑:程序博客网 时间:2024/05/13 10:23

在buy.jsp页面显示一个表单,填入书本名称点击按钮,将书本加入购物车,页面底部显示购物车中的书名;

每本书后面都有一个链接:删除,点击能够删除这本书

总结

功能: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 stubString book = buyForm.getBook();try {book = new String(book.getBytes("ISO-8859-1"));} catch (Exception e) {// TODO Auto-generated catch blocke.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>




0 0