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

在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 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>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值