`
chaoyi
  • 浏览: 293284 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts2+Hibernate Action+struts.xml+jsp

 
阅读更多

GetAllGoodsAction 控制器

package action;
import java.util.ArrayList;
import java.util.List;
import entity.Goods;
import biz.GoodsBiz;
import biz.impl.GoodsBizImpl;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 获取所有商品表的信息 Action
 * */
public class GetAllGoodsAction extends ActionSupport {
	private GoodsBiz goodsBiz=new GoodsBizImpl();
	private List<Goods>  goods=new ArrayList<Goods>();
	public GoodsBiz getGoodsBiz() {
		return goodsBiz;
	}
	public void setGoodsBiz(GoodsBiz goodsBiz) {
		this.goodsBiz = goodsBiz;
	}
	public List<Goods> getGoods() {
		return goods;
	}
	public void setGoods(List<Goods> goods) {
		this.goods = goods;
	}
	@Override
	public String execute() throws Exception {
		
		try {
			goods=goodsBiz.getAll();
		} catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}
}

 

GetSelectedGoodsAction 控制器

package action;
import java.util.ArrayList;
import java.util.List;
import entity.Goods;
import biz.GoodsBiz;
import biz.impl.GoodsBizImpl;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 查询商品表的信息 Action
 * */
public class GetSelectedGoodsAction extends ActionSupport {
	private GoodsBiz goodsBiz=new GoodsBizImpl();
    private List<Goods>  goods=new ArrayList<Goods>();
    private Integer[] ids;
	public GoodsBiz getGoodsBiz() {
		return goodsBiz;
	}
	public void setGoodsBiz(GoodsBiz goodsBiz) {
		this.goodsBiz = goodsBiz;
	}
	public List<Goods> getGoods() {
		return goods;
	}
	public void setGoods(List<Goods> goods) {
		this.goods = goods;
	}
	public Integer[] getIds() {
		return ids;
	}
	public void setIds(Integer[] ids) {
		this.ids = ids;
	}
	@Override
	public String execute() throws Exception {
		
		try {
			goods=goodsBiz.getGoodsByIds(ids);
		} catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}	
}

 

saveOrderAction 控制器

package action;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import tool.Tool;
import biz.GoodsBiz;
import biz.impl.GoodsBizImpl;
import com.opensymphony.xwork2.ActionSupport;
import entity.Goods;
import entity.Order;
import entity.OrderDetail;
/**
 * 保存并显示订单 Action
 * */
public class saveOrderAction extends ActionSupport {
	private GoodsBiz goodsBiz=new GoodsBizImpl();
	private Order order;
	private List<OrderDetail> orderDetails = new ArrayList<OrderDetail>();
	private Integer[] ids;
	private Integer[] amounts;
	private String name;
	private String address;
	private double total = 0.0;
	public double getTotal() {
		return total;
	}
	public void setTotal(double total) {
		this.total = total;
	}
	public Order getOrder() {
		return order;
	}
	public void setOrder(Order order) {
		this.order = order;
	}
	public List<OrderDetail> getOrderDetails() {
		return orderDetails;
	}
	public void setOrderDetails(List<OrderDetail> orderDetails) {
		this.orderDetails = orderDetails;
	}
	public GoodsBiz getGoodsBiz() {
		return goodsBiz;
	}
	public void setGoodsBiz(GoodsBiz goodsBiz) {
		this.goodsBiz = goodsBiz;
	}
	public Integer[] getIds() {
		return ids;
	}
	public void setIds(Integer[] ids) {
		this.ids = ids;
	}
	public Integer[] getAmounts() {
		return amounts;
	}
	public void setAmounts(Integer[] amounts) {
		this.amounts = amounts;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	@Override
	public String execute() throws Exception {
		try {
			goodsBiz.saveOrder(ids, amounts, name, address);
			order = goodsBiz.getOrderByIds(Tool.oId);
			orderDetails = goodsBiz.getOrderDetailByOdIds(Tool.odIds);
			for (OrderDetail orderDetail : orderDetails) {
				total += orderDetail.getGoods().getPrice()*orderDetail.getAmount();
			}
			Tool.oId=0;
			Tool.odIds.clear();
		} catch (Exception e) {
			e.printStackTrace();
			return ERROR;
		}
		return SUCCESS;
	}
}

 

配置 struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"struts-2.3.dtd">
<struts>
	<!-- 配置文件修改的时候被重新加载 -->
	<constant name="struts.configuration.xml.reload" value="true"></constant>
	<!-- 修改系统的主题(页面) -->
	<constant name="struts.ui.theme" value="simple"></constant>
	<package name="default" namespace="/" extends="struts-default">
		<global-results>
			<result name="error">error.jsp</result>
		</global-results>
		<action name="getAllGoods" class="action.GetAllGoodsAction">
			<result name="success">index.jsp</result>
		</action>
		<action name="selectedGoods" class="action.GetSelectedGoodsAction">
			<result name="success">selected.jsp</result>
		</action>
		<action name="saveOrder" class="action.saveOrderAction">
			<result name="success">order.jsp</result>
		</action>
	</package>
</struts>

 

error.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>错误页面</title>
</head>

<body>
	<h2 style="margin: 20px auto;">此路不通</h2>
</body>
</html>

 

index.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="css/basic.css" />
<link type="text/css" rel="stylesheet" href="css/index.css" />
<title>商品展示</title>
</head>

<body>
	<div>
		<h3>商品展示</h3>
		<s:if test="%{goods.size()==0}"><p>没有商品</p></s:if>
		<s:else>
		<s:form action="selectedGoods" method="get">
		<s:iterator value="goods" >
		<p>
			<s:property value='name'/>&nbsp;&nbsp;&nbsp;&nbsp;选购&nbsp; <input type="checkbox" name="ids" value="<s:property value='id'/>" />
		</p>
		<ul>
			<li>厂商:<s:property value='manufacture'/></li>
			<li>价格:<s:property value='price'/></li>
			<li><s:property value='specification'/></li>
		</ul>
		</s:iterator>
		<s:submit value="下单" > </s:submit>
		</s:form>
		</s:else>
	</div>
</body>
</html>

 

效果图:

 

selected.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="css/basic.css" />
<link type="text/css" rel="stylesheet" href="css/selected.css" />
<title>订购商品</title>
</head>

<body>
	<div>
		<s:if test="%{goods.size()==0}">
			<h3>你没有商品</h3>
		</s:if>
		<s:else>
			<s:form action="saveOrder" method="post">
				<ul>
					<li>收货人:<input type="text" name="name" />
					</li>
					<li>收货人地址:<input type="text" name="address" />
					</li>
				</ul>
				<table cellpadding="0" cellspacing="0">
					<tr>
						<td>名称</td>
						<td>价格</td>
						<td>数量</td>
					</tr>
					<s:iterator value="goods">
						<tr>
							<td><input type="hidden" name="ids"
								value="<s:property value='id'/>" /> <s:property value="name" />
							</td>
							<td><s:property value="price" /></td>
							<td><input type="text" name="amounts" value="1" /></td>
						</tr>
					</s:iterator>
				</table>
				<s:submit value="订购"></s:submit>
			</s:form>
		</s:else>
	</div>
</body>
</html>

 

效果图:

 

order.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="css/basic.css" />
<link type="text/css" rel="stylesheet" href="css/order.css" />
<title>订购商品</title>
</head>
<body>
	<s:debug></s:debug>
	<div>
		<ul>
			<li>订单号:<s:property value="order.id"/></li>
			<li>收货人:<s:property value="order.name"/></li>
			<li>收货人地址:<s:property value="order.address"/></li>
		</ul>
		<table cellpadding="0" cellspacing="0">
			<tr>
				<td>名称</td>
				<td>价格</td>
				<td>数量</td>
			</tr>
			
			<s:iterator value="orderDetails" >
			<tr>
				<td><s:property value='goods.name'/></td>
				<td><s:property value='goods.price'/></td>
				<td><s:property value='amount'/></td>
			</tr>
			</s:iterator>
			<tr>
				<td colspan="3">总价:<s:property value="total"/></td>
			</tr>
		</table>
	</div>
</body>
</html>

 

效果图:

 

 

 

 

  • 大小: 55 KB
  • 大小: 33.2 KB
  • 大小: 33.4 KB
分享到:
评论

相关推荐

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    13.8.2 登录接口Login.java 13.8.3 设定调查题目接口SetSurvey.java 13.8.4 设定调查项目接口SetSurveyOption.java 13.8.5 设定调查子项目接口SetSurveyChild.java 13.8.6 统计调查结果接口SetSurveyChildCount.java...

    Struts2+hibernate+spring的常见面试题

    Struts2提供了许多方法来创建Action类,并通过struts.xml中或通过注释进行配置。我们可以创建自己的拦截器实现常见任务。 Struts2中自带了很多的标签,并使用OGNL表达式语言。我们可以创造我们自己的类型转换器来...

    Struts2 + Hibernate开发笔记(二).txt

    我们在admin-action.xml配置中可以看到一句 &lt;result name="city"&gt;/admin/city.jsp 而在loadCity方法中有这样一句 return "city"; 这样,当loadCity执行完后,就会返回到http://localhost/admin/city.jsp页面

    从零开始创建基于struts1.2 + Hibernate3.0的Web工程

    目 录 1. 环境说明..............................................................3 2. 例子工程说明..................................7.2. 在Struts应用中添加Hibernate3.0支持.............................20

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    13.8.2 登录接口Login.java 13.8.3 设定调查题目接口SetSurvey.java 13.8.4 设定调查项目接口SetSurveyOption.java 13.8.5 设定调查子项目接口SetSurveyChild.java 13.8.6 统计调查结果接口SetSurveyChildCount.java...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    13.8.2 登录接口Login.java 13.8.3 设定调查题目接口SetSurvey.java 13.8.4 设定调查项目接口SetSurveyOption.java 13.8.5 设定调查子项目接口SetSurveyChild.java 13.8.6 统计调查结果接口SetSurveyChildCount.java...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    2 import org.apache.struts.action.ActionErrors; 3 import org.apache.struts.action.ActionForm; 4 import org.apache.struts.action.ActionMapping; 5 6 /** 7 * MyEclipse Struts 8 * Creation date: ...

    struts2.4+spring3.1+hibernate4.1的SSH框架

     系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action...

    SSH2(spring3.2+strust2.3.4+hibernate4.2)框架演示代码

    SSH2(Spring + Struts2 + Hibernate)是一个流行的Java Web开发框架...struts.xml:Struts2的配置文件,定义Action和Result等。 Action类:处理用户请求和业务逻辑。 JSP页面:展示用户界面。 业务逻辑层(Spring)

    JAVA SSH青协志愿服务管理系统源码.rar

    Struts+srping+Hibernate开发青协志愿服务管理系统 数据库 mysql(关系型数据库) 前台技术 JSP(css,js,...WEB-INF (lib+jsp+*.xml) applicationContext.xml 中心配置文件 web.xml 项目配置文件 项目一些基本配置参数

    JAVA SSH青协志愿服务管理系统源码

    Struts+srping+Hibernate开发青协志愿服务管理系统 数据库 mysql(关系型数据库) ...WEB-INF (lib+jsp+*.xml) applicationContext.xml 中心配置文件 web.xml 项目配置文件 项目一些基本配置参数 127.0

    Struts+Spring+Hibernate补充内容

    在SSH中实现以下功能时, ...在src目录下创建多个xml文件,分别配制项目中的 action,dao,manage,common(sessionfactory,事务,AOP) 以相同的前缀开头,以action,dao,manage,common结尾 文件中配制的语法与原来一样

    spring3.2+strut2+hibernate4

    -- 更改struts2请求Action的后缀名,默认为action。若想去掉后缀,设为","即可 --&gt; &lt;constant name="struts.action.extension" value=","/&gt; &lt;!-- 当配置文件修改后,系统自动加载该文件。开发阶段建议打开此功能...

    Struts2和Hibernate框架实现图书管理系统

    Struts2框架、Hibernate框架、MySQL数据库、C3P0数据池、Jsp、HTML、CSS、JavaScript等技术。 三.设计思路 1. 基于Struts2框架和Hibernate框架进行编程设计,连接MySQL数据库实现数据的增删查改,应用Jsp、HTML、...

    AutoCode代码生成器(SSH版)

    JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置文件 Service --&gt; Service接口定义类 ...

    J2EE电子商务系统开发从入门到精通

    2.1.2 JSP Model 1与JSP Model 2.. 9 2.2 Struts的体系架构..... 10 2.3 Struts控制器组件类..... 12 2.3.1 ActionServlet类..... 13 2.3.2 RequestProcessor类..... 16 2.3.3 Action类..... 26 2.4 Struts视图组件...

    java程序生成器 本软件生成Struts2.1.8,Spring2.5,Hibernate3代码

    生成实体类,Dao层,Biz层,Action,Jsp页面,struts.xml,applicationcontext.xml,hibernate.cfg.xml,web.xml。 支持关系映射。 若想更好的利用此软件加快开发效率,减少成本,请遵循Hibernate规范。 例如: 表必须...

    AutoCode代码生成器【SSH版】

    JSP文件--&gt; 具有Struts2.0支持的增、删、改、查页面及自定义查询、自动分页等操作 Action--&gt; 业务Action.java和导出Excel的Action等 VO --&gt; bean.java及 bean.hbm.xml配置文件 Service --&gt; Service接口定义类 ...

Global site tag (gtag.js) - Google Analytics