`
shaohan126448
  • 浏览: 115841 次
  • 来自: 北京
社区版块
存档分类
最新评论

SSH实现查询功能代码

    博客分类:
  • java
阅读更多

1.extjs实现查询的基本界面及返回数据的界面search.js

Js代码 复制代码
  1. var storeGoods = new Ext.data.Store({       
  2.  id : 'baseStore',   
  3.  proxy : new Ext.data.HttpProxy({   
  4.     url : "../../ast/consumables/goodsSearch.action",   
  5.     method : "post"  
  6.    }),   
  7.  autoLoad : true,   
  8.  reader : new Ext.data.JsonReader({   
  9.   root : 'result',                 
  10.   totalProperty : 'totalCount'// 总记录数   
  11.   fields : [   
  12.             {name : 'goodscode',mapping:'goodscode'},   
  13.             {name : 'goodsbar',mapping:'goodsbar'}   
  14.             ]   
  15.  })   
  16. });  
var storeGoods = new Ext.data.Store({    
 id : 'baseStore',
 proxy : new Ext.data.HttpProxy({
    url : "../../ast/consumables/goodsSearch.action",
    method : "post"
   }),
 autoLoad : true,
 reader : new Ext.data.JsonReader({
  root : 'result',              
  totalProperty : 'totalCount', // 总记录数
  fields : [
            {name : 'goodscode',mapping:'goodscode'},
            {name : 'goodsbar',mapping:'goodsbar'}
            ]
 })
});
Js代码 复制代码
  1. var sm = new Ext.grid.CheckboxSelectionModel();  
var sm = new Ext.grid.CheckboxSelectionModel();
Js代码 复制代码
  1. var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),sm,   
  2.             {   
  3.              header : "货品编号",   
  4.              width : 100,   
  5.              dataIndex : "goodscode",   
  6.              align : "center",   
  7.              sortable : true  
  8.             },{   
  9.              header : "货品条码",   
  10.              width : 100,   
  11.              dataIndex : "goodsbar",   
  12.              align : "center",   
  13.              sortable : true  
  14.          }]);  
var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),sm,
            {
             header : "货品编号",
             width : 100,
             dataIndex : "goodscode",
             align : "center",
             sortable : true
            },{
             header : "货品条码",
             width : 100,
             dataIndex : "goodsbar",
             align : "center",
             sortable : true
         }]);
Js代码 复制代码
  1. var grid = new Ext.grid.GridPanel( {   
  2.         frame : true,   
  3.         stripeRows : true,   
  4.         region : "center",   
  5.         store : storeGoods,   
  6.         tbar : new Ext.Toolbar( {   
  7.             monitorResize : true,   
  8.             items : [   
  9.                 {   
  10.                     xtype: 'textfield',   
  11.                     name: 'searchfield',   
  12.                     id:'searchfield'  
  13.                    },   
  14.                 {   
  15.        
  16.                     cls : 'x-btn-text-icon',   
  17.                     text : "查   询",   
  18.                     handler : function() {   
  19.                         var search = Ext.getCmp("searchfield").getValue();   
  20.                         storeGoods.setBaseParam("searchModel.goodsname", search);   
  21.                         storeGoods.load();   
  22.                       },   
  23.                     scope : this  
  24.                 }]   
  25.     }),   
  26.     enableColumnMove : false,   
  27.     colModel : cm,   
  28.     viewConfig : {forceFit : true},   
  29.     sm : sm,   
  30.     bbar : new Ext.PagingToolbar({   
  31.                 pageSize : 18,   
  32.                 store : storeGoods,   
  33.                 displayInfo : true,   
  34.                 displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',   
  35.                 emptyMsg : "没有记录"  
  36.             })   
  37.     });   
  38. Ext.onReady(function(){   
  39.         var border = new Ext.Viewport({   
  40.             layout:'border',   
  41.             renderTo:Ext.getBody(),   
  42.             items:[{   
  43.                 region:'center',   
  44.                 split:true,   
  45.                 border:true,   
  46.                 layout:'border',   
  47.                 items:[grid]   
  48.             }]   
  49.         });        
  50. });  
var grid = new Ext.grid.GridPanel( {
		frame : true,
		stripeRows : true,
		region : "center",
		store : storeGoods,
		tbar : new Ext.Toolbar( {
			monitorResize : true,
			items : [
			    {
					xtype: 'textfield',
		            name: 'searchfield',
		            id:'searchfield'
				   },
				{
	
					cls : 'x-btn-text-icon',
					text : "查   询",
					handler : function() {
						var search = Ext.getCmp("searchfield").getValue();
						storeGoods.setBaseParam("searchModel.goodsname", search);
						storeGoods.load();
				      },
					scope : this
				}]
	}),
	enableColumnMove : false,
	colModel : cm,
	viewConfig : {forceFit : true},
	sm : sm,
	bbar : new Ext.PagingToolbar({
				pageSize : 18,
				store : storeGoods,
				displayInfo : true,
				displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
				emptyMsg : "没有记录"
			})
	});
Ext.onReady(function(){
		var border = new Ext.Viewport({
			layout:'border',
			renderTo:Ext.getBody(),
			items:[{
				region:'center',
				split:true,
				border:true,
				layout:'border',
				items:[grid]
			}]
		});		
});

 2.配置freemark的返回数据.ftl格式文件goodsList.ftl

 

Java代码 复制代码
  1. {"totalCount":"${count?c}","result":   
  2.     [   
  3.     <#list result as r>   
  4.         {   
  5.             "id":"${r.id!""}",   
  6.             "goodscode":"${r.goodscode!""}",   
  7.             "goodsbar":"${r.goodsbar!""}",   
  8.         }   
  9.         <#if r_has_next>,</#if>   
  10.     </#list>   
  11.     ]   
  12. }  
{"totalCount":"${count?c}","result":
	[
	<#list result as r>
		{
			"id":"${r.id!""}",
			"goodscode":"${r.goodscode!""}",
			"goodsbar":"${r.goodsbar!""}",
	 	}
		<#if r_has_next>,</#if>
	</#list>
	]
}

3.配置struts实现goodsSearch的映射struts-consumables.xml

Java代码 复制代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!DOCTYPE struts PUBLIC    
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">   
  5.   
  6. <struts>   
  7.        
  8.     <package name="kingee-ast-consumables" extends="kingee_ast_default" namespace="/ast/consumables">   
  9.            
  10.         <!-- 查询 action -->   
  11.         <action name="goodsSearch" class="goodsGridSearchCore">   
  12.             <result type="freemarker">/consumables/search/goodsList.ftl</result>   
  13.         </action>   
  14.                    
  15.     </package>   
  16.   
  17. </struts>  
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
	"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	
	<package name="kingee-ast-consumables" extends="kingee_ast_default" namespace="/ast/consumables">
		
		<!-- 查询 action -->
		<action name="goodsSearch" class="goodsGridSearchCore">
		    <result type="freemarker">/consumables/search/goodsList.ftl</result>
		</action>
				
	</package>

</struts>

 4.配置spring的配置文件applicationContext-search.xml

Java代码 复制代码
  1. <!-- role searchCore -->   
  2.     <bean id="goodsSearchModel" class="com.kingee.ast.consumables.search.model.ConGoodsSearchModel" scope="prototype"></bean>   
  3.     <bean id="goodsSearchProvider" class="com.kingee.ast.consumables.search.provider.ConGoodsSearchProvider" >   
  4.             <property name="hibernateTemplate" ref="astNoCacheHibernateTemplate"></property>   
  5.     </bean>   
  6.        
  7.     <bean id="goodsGridSearchCore" class="com.joyoung.framework.search.GridSearchCore" scope="prototype">   
  8.             <property name="searchModel" ref="goodsSearchModel"></property>   
  9.             <property name="searchProvider" ref="goodsSearchProvider"></property>   
  10.     </bean>     
	<!-- role searchCore -->
		<bean id="goodsSearchModel" class="com.kingee.ast.consumables.search.model.ConGoodsSearchModel" scope="prototype"></bean>
		<bean id="goodsSearchProvider" class="com.kingee.ast.consumables.search.provider.ConGoodsSearchProvider" >
				<property name="hibernateTemplate" ref="astNoCacheHibernateTemplate"></property>
		</bean>
		
		<bean id="goodsGridSearchCore" class="com.joyoung.framework.search.GridSearchCore" scope="prototype">
		    	<property name="searchModel" ref="goodsSearchModel"></property>
		    	<property name="searchProvider" ref="goodsSearchProvider"></property>
		</bean> 	

 

5.写出searchModel的实现代码ConGoodsSeachModel.java

Java代码 复制代码
  1. public class ConGoodsSearchModel implements SearchModel{   
  2.     private String goodsname;   
  3.     @Override  
  4.     public Map<String, ?> toMap() {   
  5.         Map<String,String> map=new HashMap<String, String>();   
  6.         map.put("goodsname", goodsname);   
  7.         return map;   
  8.     }   
  9.     public String getGoodsname() {   
  10.         return goodsname;   
  11.     }   
  12.     public void setGoodsname(String goodsname) {   
  13.         this.goodsname = goodsname;   
  14.     }   
  15. }  
public class ConGoodsSearchModel implements SearchModel{
	private String goodsname;
	@Override
	public Map<String, ?> toMap() {
		Map<String,String> map=new HashMap<String, String>();
		map.put("goodsname", goodsname);
		return map;
	}
	public String getGoodsname() {
		return goodsname;
	}
	public void setGoodsname(String goodsname) {
		this.goodsname = goodsname;
	}
}

 

6.写出searchProvider的实现代码ConGoodsSearchProvider.java

Java代码 复制代码
  1. public class ConGoodsSearchProvider extends HibernateSearchProvider{   
  2.     @Override  
  3.     protected DetachedCriteria getDetachedCriteria(Map<String, ?> map) {   
  4.         DetachedCriteria detachedCriteria=DetachedCriteria.forClass(ConGoods.class,"conGoods");        
  5.         if(null !=map.get("goodsname") && !"".equals(map.get("goodsname"))){   
  6.             detachedCriteria.add(Restrictions.or(Restrictions.like("goodsname""%"+map.get("goodsname")+"%"),   
  7.                                                  Restrictions.or(Restrictions.like("goodscode""%"+map.get("goodsname")+"%"),   
  8.                                                                  Restrictions.like("goodsstyle","%"+map.get("goodsname")+"%"))));   
  9.         }   
  10.         detachedCriteria.add(Restrictions.eq("deleted"false));   
  11.         return detachedCriteria;   
  12.     }   
  13. }  
public class ConGoodsSearchProvider extends HibernateSearchProvider{
	@Override
	protected DetachedCriteria getDetachedCriteria(Map<String, ?> map) {
		DetachedCriteria detachedCriteria=DetachedCriteria.forClass(ConGoods.class,"conGoods");		
		if(null !=map.get("goodsname") && !"".equals(map.get("goodsname"))){
			detachedCriteria.add(Restrictions.or(Restrictions.like("goodsname", "%"+map.get("goodsname")+"%"),
					                             Restrictions.or(Restrictions.like("goodscode", "%"+map.get("goodsname")+"%"),
					            		                         Restrictions.like("goodsstyle","%"+map.get("goodsname")+"%"))));
		}
		detachedCriteria.add(Restrictions.eq("deleted", false));
		return detachedCriteria;
	}
}

 其中ConGoods.class实现的是,找出货品的pojo实体类,然后通过hibernate的配置文件,查找数据库中对应的表格数据

  7.增加树的结点的实现代码

Java代码 复制代码
  1. function submitForm(){   
  2.         Ext.Ajax.request({   
  3.         url :'../../ast/system/consumablesSave.action',     
  4.         params : {   
  5.               'consumables.name':Ext.getCmp('name').getValue(),   
  6.               'consumables.parentConsumables.id''1' //找到父结点的id   
  7.               },   
  8.         success : function(response) {   
  9.         var resText=Ext.util.JSON.decode(response.responseText);                   
  10.             if(resText.success){   
  11.                 Ext.Msg.alert('提示'"保存成功!");   
  12.                 storeConsumables.reload();   
  13.                 addWin.hide();   
  14.             }else{   
  15.                 Ext.Msg.alert('提示'"保存失败!");   
  16.                 addWin.hide();   
  17.             }   
  18.         },   
  19.         failure : function(response) {   
  20.             Ext.Msg.alert("提示","<font color='red'>服务器连接失败,请联系管理员!</font>");   
  21.         }   
  22.     });   
  23. }  
分享到:
评论

相关推荐

    ssh框架的模糊查询

    总结来说,SSH框架的模糊查询和分页功能涉及到了前端请求处理、后端业务逻辑、数据库操作等多个层面,通过合理的代码设计和组织,能够实现高效且灵活的数据检索和展示。在实际开发中,还需要考虑性能优化、异常处理...

    SSH网站实现登录注册等等

    以下是对SSH框架及其在实现这些功能时涉及的技术点的详细解释: 1. **Struts2**:Struts2是一个基于MVC(Model-View-Controller)设计模式的Web应用框架,负责处理HTTP请求并分发到相应的Action(控制器)。在登录...

    ssh实现模糊查询,分页及增删改查功能

    在这个场景中,我们将深入探讨如何利用SSH框架实现模糊查询、分页以及增删改查(CRUD)功能,并与Oracle 10g数据库进行交互。 **一、SSH框架简介** SSH框架由三个主要部分组成: 1. **Struts2**:这是一个基于MVC...

    ssh实现投票+代码

    在这个“ssh实现投票+代码”的项目中,我们重点探讨SSH框架如何被用来实现一个投票功能,包括与数据库的交互以及遵循三层架构的设计原则。 **SSH框架详解** 1. **Struts2**:作为表现层框架,Struts2负责处理HTTP...

    一个简单的ssh框架实现的增删改查

    Struts2还提供了一套强大的拦截器(Interceptor)机制,可以实现如登录检查、权限验证等功能。 Spring框架则是一个全面的后端解决方案,它不仅支持DI和AOP,还可以管理事务、集成其他框架、处理数据访问等。在SSH中...

    SSH代码生成器

    SSH框架的每个组件都有其特定的功能:Spring负责依赖注入和管理事务,Struts2作为MVC框架处理请求和视图展示,而Hibernate则是持久层解决方案,用于对象关系映射。 在使用SSH代码生成器时,开发者通常会输入数据库...

    ssh网上商城项目代码全 课程设计

    ### SSH网上商城项目代码全课程设计 #### 一、SSH框架简介 SSH是Spring、Struts和Hibernate三个开源框架首字母的缩写。这三种框架分别解决了企业级应用开发中的不同问题:Spring作为轻量级的IoC容器,提供了解耦和...

    ssh实现分页功能(代码都有注释包括配置文件)

    SSH(Struts2 + Spring + Hibernate)是一种经典的Java Web开发框架,它提供了强大...以上就是SSH框架实现分页功能的基本步骤和相关知识点。在实际项目中,还需要根据具体需求进行调整和优化,确保系统的稳定性和效率。

    商贸项目SSH框架实现代码

    这个“商贸项目SSH框架实现代码”提供了完整的源码,对于学习和理解SSH框架的工作原理及实际应用具有很高的价值。 1. **Spring框架**:Spring是核心的IoC(Inversion of Control)和AOP(Aspect Oriented ...

    ssh框架实现的分页代码

    综上所述,这个项目旨在展示SSH框架下如何实现数据库分页功能,涉及到的主要技术有Spring的依赖管理和事务控制、Struts2的请求处理和视图展示、Hibernate的对象关系映射以及Oracle数据库的查询操作。开发者可以通过...

    ssh登录+课程增删改查功能的入门源代码

    这个入门源代码是学习SSH框架的绝佳起点,你可以从中了解各组件如何协作,以及如何实现基本的业务功能。通过修改和扩展这个项目,你可以深入理解SSH框架的内在工作原理,并提升你的Java Web开发技能。

    一个用SSH实现的注册登录功能

    在这个"一个用SSH实现的注册登录功能"项目中,我们将探讨这三个框架如何协同工作来实现用户注册和登录的核心功能。 1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(DI)和面向切面编程...

    SSH查询代码

    这三个框架协同工作,使得开发者能够高效地实现复杂的查询功能,同时保持代码的整洁和模块化。在实际项目中,你可能还会涉及到缓存、安全、国际化等更多细节,但SSH已经为你提供了一个强大的基础来构建和扩展应用。

    ssh框架登录代码

    SSH框架,全称为Spring、...总之,SSH框架登录代码展示了如何在Java Web应用中整合这三个框架,实现用户登录功能。通过它们的协同工作,可以有效地组织代码结构,提高开发效率,同时也为应用的扩展和维护提供了便利。

    ssh注册登录代码

    在这个“ssh注册登录代码”中,我们关注的是如何通过SSH实现用户注册和登录功能,以及如何利用SSH进行文件的上传和下载。 首先,我们要理解SSH的基本工作原理。SSH通过加密通信,确保了在传输数据时不会被窃听或...

    ssh2注解实现增删改查分页

    总的来说,SSH2注解方式实现的Web应用不仅减少了XML配置,提高了开发效率,还使得代码更加清晰、可读性强。通过合理运用这些注解,开发者可以轻松实现登陆/注册、模糊查询、分页、批量删除和组合查询等功能,构建出...

    SSH实现查找和增加功能.rar

    这个压缩包文件"SSH实现查找和增加功能.rar"显然包含了一个示例项目,展示了如何在SSH框架下实现数据的查找和增加功能。以下是关于SSH框架以及如何在其中实现这些功能的详细解释: **Struts2** 是一个基于MVC设计...

    基于SSH的公交查询系统-源码

    源码的分享意味着我们可以深入研究其内部实现,了解SSH框架如何协同工作来完成实际功能。开发者可以通过阅读源码学习如何在Struts2的配置文件中定义Action,如何在Spring中配置bean,以及如何利用Hibernate的 ...

    SSH实现学生选课系统(包含完整源代码以及数据库文件

    综上所述,这个SSH实现的学生选课系统是一个综合性的Java Web应用,涵盖了前端交互、业务逻辑控制、数据持久化等多个层面的技术。通过学习和研究此项目,开发者可以深入了解SSH框架的实战应用,提升Web开发技能。

    SSH完整资源代码

    市面上有许多SSH实现,包括OpenSSH(开源且广泛使用的实现)、PuTTY(Windows下的SSH客户端)以及各种编程语言中的SSH库,如Java的JSch、Python的paramiko等。 在提供的"SSH完整资源代码"中,开发者可以找到这些...

Global site tag (gtag.js) - Google Analytics