B2C电子商务网站:三大框架、ajax、jquery和json整合开发的商品类型的自连接操作(即无限级别分类)
最近一直在做B2C电子商务网站,前天在写商品类型的自连接操作(即无限级别分类),以前写过一个用servlet+jsp写的。但是现在我们要用三大框架整合开发。开始还没思路,后来经过反复的思考,慢慢的琢磨出来了,今天就和大家分享一下,或许大家以后能用的到。
详细代码如下:
list.jsp
<s:a href="types/insert.jsp">添加</s:a>
insert.jsp
<tr>
<td class="gridViewHeader">
类别所属分类
</td>
<td class="gridViewItem" id="parents">
</td>
</tr>
Types.java
package cn.z_xiaofei168.domain;
import java.util.HashSet;
import java.util.Set;
public class Types implements java.io.Serializable {
/**
* @author z_xiaofei168
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String description;
/** 自关联 */
private Types parents;// 父节点
private Set<Types> childrens;// 子节点
private Set<Goods> goodses = new HashSet<Goods>(0);
省略所有的set和get方法
}
Types.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false"
package="cn.z_xiaofei168.domain">
<class name="Types" table="types">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="identity" />
</id>
<property generated="never" lazy="false" name="name"
type="java.lang.String">
<column length="50" name="name" not-null="true" />
</property>
<property generated="never" lazy="false" name="description"
type="java.lang.String">
<column length="100" name="description" />
</property>
<many-to-one name="parents" class="Types" column="types_id"
lazy="false" />
<set name="childrens" inverse="true" cascade="save-update">
<key column="types_id" />
<one-to-many class="Types" />
</set>
<set inverse="true" lazy="false" name="goodses" sort="unsorted">
<key>
<column name="type_id" not-null="true" />
</key>
<one-to-many class="Goods" />
</set>
</class>
</hibernate-mapping>
<script type="text/javascript"
src="${pageContext.request.contextPath}/js/jquery-1.6.js">
</script>
<script type="text/javascript">
window.onload = function(){
alert("test1");
fun();
}
function fun(){
$.ajax({
type : "post",
url : "csdn/types_findTypes.action",
dataType : "json",
success : function(data) {
$("#parents").empty();
var sel = $("<select>").attr("name", "parents.id");
var opt = $("<option>").attr("value", 0).text("--根目录--");
sel.append(opt);
$.each(data.entities, function(i, entity) {
var opts = $("<option>").attr("value", entity.id);
opts.text(entity.name);
sel.append(opts);
});
sel.appendTo($("#parents"));
}
});
}
</script>
TypesAction.java
TypesServiceImpl.java
package cn.z_xiaofei168.action;
import java.util.List;
import cn.z_xiaofei168.dao.Pagination;
import cn.z_xiaofei168.domain.Types;
import cn.z_xiaofei168.service.TypesServiceImpl;
import com.opensymphony.xwork2.ActionSupport;
public class TypesAction extends ActionSupport {
/**
* @author z_xiaofei168
*/
private static final long serialVersionUID = 1L;
/** 业务层对象 */
private TypesServiceImpl typesServiceImpl;
private Types entity;
private List<Types> entities;
private Types parents;
//省略所有属性的set和get方法
/** 添加的操作 */
public String add() throws Exception {
/** 设置其父节点 */
if (parents.getId() == null||parents.getId()<=0) {
entity.setParents(null);
} else {
parents = typesServiceImpl.findById(parents.getId());
entity.setParents(parents);
}
typesServiceImpl.add(entity);
return "add";
}
public String findTypes() throws Exception {
entities = typesServiceImpl.findAll();
return SUCCESS;
}
}
TypesServiceImpl.java
package cn.z_xiaofei168.service;
import java.util.List;
import cn.z_xiaofei168.dao.TypesDaoImpl;
import cn.z_xiaofei168.domain.Types;
public class TypesServiceImpl implements TypesService {
private TypesDaoImpl typesDaoImpl;
public void setTypesDaoImpl(TypesDaoImpl typesDaoImpl) {
this.typesDaoImpl = typesDaoImpl;
}
public void add(Types entity) throws Exception {
typesDaoImpl.add(entity);
}
public List<Types> findAll() throws Exception {
return typesDaoImpl.findAll();
}
public Types findById(Integer id) throws Exception {
return typesDaoImpl.findById(id);
}
}
TypesDaoImpl.java
package cn.z_xiaofei168.dao;
import java.util.List;
import java.util.Set;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import cn.z_xiaofei168.domain.Goods;
import cn.z_xiaofei168.domain.Messages;
import cn.z_xiaofei168.domain.Orderdetails;
import cn.z_xiaofei168.domain.Types;
public class TypesDaoImpl extends HibernateDaoSupport implements TypesDao {
public void add(Types entity) throws Exception {
this.getHibernateTemplate().save(entity);
}
@SuppressWarnings("unchecked")
public List<Types> findAll() throws Exception {
return this.getHibernateTemplate().find("from Types");
}
}
struts.xml
<!-- TypesAction的bean -->
<action name="types_*" class="typesAction" method="{1}">
<result name="add" type="chain">types_list</result>
<result name="success" type="json">
<param name="includeProperties">
entities\[\d+\]\.id,
entities\[\d+\]\.name
</param>
</result>
</action
备注:struts.xml 返回的数据是<package name="goods" extends="json-default" namespace="/xiaofei">
以上是大部分代码,像一些接口之类的我就没有往上面贴。相信大家都明白。若想看最后显示的结果,可以到我的相册看图片: jaj3.bmp。
分享到:
相关推荐
【B2C电子商务网站开发】是指企业面向个人消费者的在线商业交易模式,如阿里巴巴、淘宝网、当当网、亚马逊等知名平台。本章主要通过一个简单的案例——《闽台商城》来阐述B2C电子商务网站的开发过程,涵盖需求分析、...
通过分析这个B2C电子商务网站系统源码,开发者不仅可以学习到Asp.net的Web开发技术,还能了解到电子商务系统的核心功能和设计思路,这对于想要从事电商系统开发或者提升Web开发技能的人来说是非常宝贵的资源。
【标题】"b2c电子商务网站"涉及到的核心概念是B2C(Business-to-Consumer)模式,这是一种在线商业交易模式,其中商家直接面向消费者销售产品或服务。在B2C电子商务网站中,商家通常拥有一个功能完善的在线平台,...
《全面解析B2C电子商务网站源代码》 在数字化时代,B2C(Business-to-Consumer)电子商务网站已经成为企业与消费者之间的重要交易桥梁。本文将深入探讨B2C电子商务网站的源代码,揭示其背后的技术架构和核心功能,...
标签中提到的".net"是微软开发的一种开源框架,用于构建Web应用程序,包括B2C电子商务网站。.NET框架提供了一整套工具和服务,帮助开发者快速、安全地编写高效代码,支持多种语言,如C#、VB.NET等。 "电子商务"是指...
【B2C电子商务解决方案】是针对企业在互联网上开展零售业务的一种专业策略,旨在帮助企业利用电子商务平台提高销售效率和顾客满意度。随着互联网的迅速发展,网上购物已成为消费者的主要购物渠道之一,尤其是在中国...
本文的核心是关于B2C电子商务交易系统的开发和设计,它首先深入探讨了电子商务网站开发的背景和价值。在当前互联网普及的环境下,B2C电子商务交易网站的特点和共性包括:提供24小时不间断服务、全球化的市场覆盖、...
综上所述,J2EE为构建B2C电子商务网站提供了全面的技术支持和丰富的功能,结合现代化的开发框架和技术,可以实现高效、安全、用户友好的在线购物体验。通过合理的架构设计和优化,可以满足高并发、大数据量的业务...
【ASP.NET B2C电子商务网站系统源码】是面向企业级电子商务应用的开发框架,它基于微软的ASP.NET技术构建,旨在提供一个高效、稳定、功能丰富的在线购物平台。ASP.NET是一个强大的Web应用程序开发框架,它允许开发者...
详细介绍了开发电子商务网站从功能模块分析到数据库设计流程 是一部值得看的文章
ASP.NET和C#是Microsoft开发的两种核心技术,用于构建高效、安全且可扩展的Web应用程序,尤其是电子商务网站。本文将深入探讨使用这两种技术在电子商务领域中的应用。 ASP.NET是一个开源的服务器端Web应用程序框架...
《深入剖析B2C电子商务网站开发:SSH框架与Java实践》 在当今互联网时代,B2C(Business-to-Consumer)电子商务网站已经成为企业与消费者之间的重要桥梁,它们为消费者提供了丰富的商品选择和便捷的购物体验。本文...
(Java毕业设计)基于J2EE的B2C电子商务系统开发(Java毕业设计)基于J2EE的B2C电子商务系统开发(Java毕业设计)基于J2EE的B2C电子商务系统开发(Java毕业设计)基于J2EE的B2C电子商务系统开发(Java毕业设计)基于J2EE的B2C...
ASP.NET B2C电子商务网站是基于微软的ASP.NET技术构建的一种在线商业平台,它主要面向消费者(Business-to-Consumer)提供商品和服务。这种类型的网站旨在为商家与个人消费者之间搭建一个方便、快捷、安全的交易桥梁...