B2C 전자상거래 사이트: 3 대 프레임 워 크, ajax, jquery 와 json 이 통합 개발 한 상품 유형의 자체 연결 작업 (즉 무한 등급 분류)
최근 B2C 전자상거래 사 이 트 를 운영 하고 있 으 며, 그저께 상품 유형의 자체 연결 작업 (즉 무한 등급 분류) 을 쓰 고 있 으 며, 이전에 servlet + jsp 로 쓴 적 이 있다.하지만 이 제 는 3 대 프레임 워 크 로 통합 개발 해 야 한다.처음에는 생각 이 없 었 는데 나중에 반복 적 인 사 고 를 통 해 천천히 생각해 냈 습 니 다. 오늘 은 여러분 과 나 누 겠 습 니 다. 아마 여러분 이 나중에 사용 할 수 있 을 것 입 니 다. 자세 한 코드 는 다음 과 같 습 니 다.
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 = "/ xiaofie" > 입 니 다. 이상 은 대부분의 코드 입 니 다. 인터페이스 같은 것 은 제 가 위 에 붙 이지 않 았 습 니 다.다 들 아 실 거 라 고 믿 습 니 다.마지막 으로 표 시 된 결 과 를 보고 싶다 면 내 앨범 에 가서 그림 을 볼 수 있다. jaj3.bmp。 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jQuery 전후 예이 기사에서는 jquery after() 및 before() 메소드의 예를 볼 것입니다. before() 메서드는 선택한 요소 앞에 지정된 콘텐츠를 삽입합니다. after() 메서드는 선택한 요소 뒤에 지정된 콘텐츠...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.