您的位置:首页 > 其它

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

2015-02-12 16:35 288 查看
在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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: