`

使用easyui中的conbox结合ssh注解方式实现省市区三级联动效果

阅读更多
/*
 * Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
 * All Rights Reserved.
 */
package com.acca.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.acca.entity.Area;
import com.acca.service.AreaService;
import com.opensymphony.xwork2.ActionSupport;

/**
 * 
 * 
 * @version sas-web v1.0
 * @author zhouhua, 2013-1-8
 */
@Controller
@Scope("prototype")
public class AreaAction extends ActionSupport {

    private Area area;
    private Integer parentid=0;
    @Resource(name = "areaService")
    private AreaService areaService;
    private List jsonList = new ArrayList();

    /**
     * @return the parentid
     */
    public Integer getParentid() {
        return parentid;
    }

    /**
     * @param parentid the parentid to set
     */
    public void setParentid(Integer parentid) {
        this.parentid = parentid;
    }

    /**
     * @return the jsonList
     */
    public List getJsonList() {
        return jsonList;
    }

    /**
     * @param jsonList the jsonList to set
     */
    public void setJsonList(List jsonList) {
        this.jsonList = jsonList;
    }

    /**
     * @return the area
     */
    public Area getArea() {
        return area;
    }

    /**
     * @param area the area to set
     */
    public void setArea(Area area) {
        this.area = area;
    }

    /**
     * @param areaService the areaService to set
     */
    public void setAreaService(AreaService areaService) {
        this.areaService = areaService;
    }

    /**
     * 形成下拉列表
     * 
     * @return
     */
    @SuppressWarnings("unchecked")
    public String combox() {
        List<Area> list = areaService.findAll(parentid);
        for (Area r : list) {
            Map map = new HashMap();
            map.put("areaid", r.getAreaid());
            map.put("name", r.getName());
            jsonList.add(map);
        }
        return SUCCESS;
    }

}
 
package com.acca.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.acca.entity.Area;
import com.acca.service.AreaService;
import com.opensymphony.xwork2.ActionSupport;

/**
 * 
 * 
 * 
 * @author zhouhua, 2013-1-8
 */
@Controller
@Scope("prototype")
public class AreaAction extends ActionSupport {

    private Area area;
    private Integer parentid=0;
    @Resource(name = "areaService")
    private AreaService areaService;
    private List jsonList = new ArrayList();

    /**
     * @return the parentid
     */
    public Integer getParentid() {
        return parentid;
    }

    /**
     * @param parentid the parentid to set
     */
    public void setParentid(Integer parentid) {
        this.parentid = parentid;
    }

    /**
     * @return the jsonList
     */
    public List getJsonList() {
        return jsonList;
    }

    /**
     * @param jsonList the jsonList to set
     */
    public void setJsonList(List jsonList) {
        this.jsonList = jsonList;
    }

    /**
     * @return the area
     */
    public Area getArea() {
        return area;
    }

    /**
     * @param area the area to set
     */
    public void setArea(Area area) {
        this.area = area;
    }

    /**
     * @param areaService the areaService to set
     */
    public void setAreaService(AreaService areaService) {
        this.areaService = areaService;
    }

    /**
     * 形成下拉列表
     * 
     * @return
     */
    @SuppressWarnings("unchecked")
    public String combox() {
        List<Area> list = areaService.findAll(parentid);
        for (Area r : list) {
            Map map = new HashMap();
            map.put("areaid", r.getAreaid());
            map.put("name", r.getName());
            jsonList.add(map);
        }
        return SUCCESS;
    }

}
 
package com.acca.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.acca.dao.AreaDao;
import com.acca.entity.Area;
import com.acca.entity.PageModel;
import com.acca.service.AreaService;

/**
 * 
 * 
 * 
 * @author zhouhua, 2013-1-8
 */
@Service("areaService")
public class AreaServiceImpl implements AreaService {

    @Resource(name="areaDao")
    private AreaDao areaDao;

    /**
     * @param areaDao the areaDao to set
     */
    public void setAreaDao(AreaDao areaDao) {
        this.areaDao = areaDao;
    }

    /**
     * @return
     * @see com.acca.service.impl.AreaService#findAll()
     */
    @Override
    public List<Area> findAll(Integer parentid) {
        return areaDao.findAll(parentid);
    }

}
 
/*
 * Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
 * All Rights Reserved.
 */
package com.acca.dao.impl;

import java.sql.SQLException;
import java.util.List;

import javax.annotation.Resource;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;

import com.acca.dao.AreaDao;
import com.acca.entity.Area;
import com.acca.entity.PageModel;

/**
 * 
 * 
 * @version sas-web v1.0
 * @author zhouhua, 2013-1-8
 */
@Repository("areaDao")
public class AreaDaoImpl extends HibernateDaoSupport implements AreaDao {
    private SessionFactory sessionFacotry;

    // 注入一个bean, 默认(name = "sessionFactory"), 因此只写@Resource
    @Resource
    public void setSessionFacotry(SessionFactory sessionFacotry) {
        super.setSessionFactory(sessionFacotry);
    }

    /**
     * @return
     * @see com.acca.dao.AreaDao#findAll()
     */
    @Override
    public List<Area> findAll(final Integer parentid) {
        @SuppressWarnings("unchecked")
       List<Area> list = (List<Area>) getHibernateTemplate().execute(new HibernateCallback() {

            @Override
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                return session.createQuery("from Area a where a.parentid=? order by a.vieworder")
                        .setParameter(0, parentid)
                        .list();

            }
        });
        return list;
    }

}
 
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
	http://www.springframework.org/schema/context 
	http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
	
<context:component-scan base-package="com.acca"/>
<!-- 配置注解工厂 -->
<bean id="sessionFactory"
	class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
	<property name="configLocation"
		value="classpath:hibernate.cfg.xml">
	</property>
	<!-- 扫描实体 -->
	<property name="packagesToScan">
	 <list>
	  <value>com/acca/entity</value>
	 </list>
	</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
 <property name="sessionFactory">
  <ref local="sessionFactory"/>
 </property>
</bean>
<!-- 配置事务特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
 <tx:attributes>
  <tx:method name="save*" propagation="REQUIRED"/>
  <tx:method name="update*" propagation="REQUIRED"/>
  <tx:method name="delete*" propagation="REQUIRED"/>
  <tx:method name="*" read-only="false"/>
 </tx:attributes>
</tx:advice>
<!-- 声明哪些包使用事务 -->
<aop:config>
 <aop:pointcut expression="execution(* com.acca.service.*.*(..))" id="allService"/>
 <aop:advisor advice-ref="txAdvice" pointcut-ref="allService"/>
</aop:config>
</beans>
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <constant name="struts.multipart.saveDir" value="D:/temp"></constant>
  <constant name="struts.devMode" value="true"></constant>
  <package name="struts" extends="struts-default,json-default" namespace="/">
  <action name="combox" class="areaAction" method="combox">
   <result type="json">
    <param name="root">jsonList</param>
   </result>
  </action>
  </package> 
</struts>    
 
package com.acca.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 
 * 
 * 
 * @author zhouhua, 2013-1-8
 */
@Entity
@Table(name="area")
public class Area {

    @Id
    @GeneratedValue
    private Integer areaid;
    private String name;
    private Integer parentid;
    private Integer vieworder;

    /**
     * @return the areaid
     */
    public Integer getAreaid() {
        return areaid;
    }

    /**
     * @param areaid the areaid to set
     */
    public void setAreaid(Integer areaid) {
        this.areaid = areaid;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the parentid
     */
    public Integer getParentid() {
        return parentid;
    }

    /**
     * @param parentid the parentid to set
     */
    public void setParentid(Integer parentid) {
        this.parentid = parentid;
    }

    /**
     * @return the vieworder
     */
    public Integer getVieworder() {
        return vieworder;
    }

    /**
     * @param vieworder the vieworder to set
     */
    public void setVieworder(Integer vieworder) {
        this.vieworder = vieworder;
    }

}
 
分享到:
评论
1 楼 lian 2013-05-13  
少了一张 jsp 代码的页面  求补上!

相关推荐

    ssm+mysql+easyui-tree省市区三级联动

    总结来说,"ssm+mysql+easyui-tree省市区三级联动"项目结合了Java后端开发框架SSM和前端UI库EasyUI,通过MySQL数据库存储地理信息,利用Ajax实现前后端通信,最终在前端以树形控件的形式展示省市区的三级联动选择。...

    easyui三级联动代码

    在本案例中,我们将详细探讨如何利用EasyUI实现省市区的三级联动效果。 首先,我们需要了解EasyUI的基本概念。EasyUI是由一系列CSS样式和JavaScript插件组成的,这些插件涵盖了表单、窗口、菜单、布局等常见的前端...

    Java框架SSH结合Easyui控件实现省市县三级联动示例解析

    Easyui调用数据库实现省市县区三级联动的效果如果下 1、首先要设计数据库,如图所示。一个有4个字段code,note,pycode。code:行政区划代码,note:中文注释,pycode:拼音缩写。 其中code是由6个字段组成。...

    省市二级联动的EasyUI及jar包

    标题 "省市二级联动的EasyUI及jar包" 暗示了这个压缩包可能包含用于实现中国省市二级联动效果的EasyUI组件和相关的Java库文件(jar包)。EasyUI是一个基于jQuery的轻量级前端框架,它提供了丰富的UI组件,如表格、...

    esayui-全国城市省市区三级级联

    标题中的“esayui-全国城市省市区三级级联”是指一个使用EasyUI和jQuery库开发的前端组件,主要用于实现中国地区(省、市、区)的三级联动选择功能。EasyUI是一个基于jQuery的轻量级JavaScript框架,它提供了一系列...

    jquery easyui combobox mysql 数据库的省市县三级联动的例子

    在这个例子中,我们关注的是"jQuery EasyUI ComboBox"与MySQL数据库相结合,实现省市县三级联动的功能。这通常用于地址选择或者地区筛选等场景,使得用户能够方便地从预定义的层次结构中选择他们的地理位置。 首先...

    基于easyui 框架 通过读取json 文件 实现三联动效果

    基于easyui 框架 通过读取json 文件 实现三联动效果,index3.html 是基于jQuery 通过读取json 文件实现省市区三联动效果, index4.html是基于easyui 框架 实现的省市区三联动效果

    中国省市区三级联的JSON格式

    在Web开发中,为了实现省市区三级联动的选择效果,通常会使用特定的JSON格式来存储这种地理信息。这里提到的"中国省市区三级联的JSON格式"就是这样一个例子,它被设计用于创建下拉列表,方便用户在网页上选择他们的...

    Easyui form combobox省市区三级联动

    总结来说,Easyui Form Combobox的省市区三级联动功能是通过组合使用EasyUI的Combobox组件、jQuery事件监听和自定义扩展方法实现的。这种功能可以极大地提升用户体验,特别是在需要处理大量地域数据的场景下。同时,...

    SSh结合Easyui实现Datagrid的分页显示(多个实例)

    【SSh结合Easyui实现Datagrid的分页显示】是一个典型的Web开发应用场景,涉及到Spring、Struts2和Hibernate(SSh)三大框架与EasyUI前端组件的整合。在这个实例中,我们将探讨如何利用这些技术来实现一个具备分页...

    easyui+ssh(增删改模糊查询,导出数据)

    EasyUI与SSH(Struts2、Hibernate、Spring)是两种常见的Java Web开发技术,它们在企业级应用中广泛使用。EasyUI是一款基于jQuery的前端UI框架,提供了丰富的组件,如表格、下拉框、树、对话框等,使得网页界面设计...

    Easyui二级联动

    EasyUI 提供了一种简单且高效的方式来实现这一功能,通过结合 jQuery 的强大功能,开发者可以轻松地构建出具有动态二级联动效果的界面。 #### 二、EasyUI 简介 EasyUI 是一个基于 jQuery 的 UI 插件集合,它提供了...

    easyui整合ssh项目

    SSH框架则是Java企业级开发中常见的三层架构解决方案,用于处理业务逻辑、数据持久化以及页面展示。 【描述】提到的"孙宇老师的easyui项目"是许多开发者入门和进阶的重要资源。EasyUI以其简洁的API和直观的使用方式...

    SSH和easyui整合Demo

    SSH和EasyUI整合是Web开发中的一个重要实践,它将Struts2、Spring和Hibernate这三大流行框架与EasyUI前端框架相结合,以实现高效、模块化的应用程序。在这个整合Demo中,我们能够看到如何将这些组件有效地集成在一起...

    jquery easyui 三级菜单导航

    为了实现导航栏的三级联动效果,我们可以利用 `jQuery EasyUI` 的事件监听功能。例如,当点击一级菜单时,显示对应的二级菜单;点击二级菜单时,显示或隐藏三级菜单。这通常涉及到 `onShow` 和 `onHide` 事件: ```...

    SwfUpload+ssh+easyui实现的文件上传

    在"SwfUpload+ssh+easyui实现的文件上传"这个项目中,开发者首先会使用SwfUpload库来实现前端的文件选择和上传过程。用户选择文件后,SwfUpload会通过Ajax方式将文件信息传递给服务器端。同时,由于SwfUpload是基于...

    jQuery EasyUI编辑DataGrid用combobox实现多级联动

    本文主要探讨的是如何利用jQuery EasyUI的DataGrid和combobox组件实现多级联动的效果,这对于在数据录入时需要根据上一级选择动态更新下一级选项的情况非常有用,比如在本例中的“老师分类”和“老师细类”。...

Global site tag (gtag.js) - Google Analytics