`
jameszhao83
  • 浏览: 67526 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Struts2 Spring Hibernate Extjs 整合简单用例,extjs代码已经经过优化

阅读更多
Action部分,这个部分关于id的处理很不好,但愿有同志能看到给提个醒,怎样做能好一点
package com.james.action;

import java.util.List;

import javax.annotation.Resource;

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

import com.james.domain.User;
import com.james.service.UserService;

@Component("usermgr")
@Scope("prototype")
public class UserAction {
	public List<User> users;
    public String userName;
    public String passWord;
    public String telphone;
    public String context;
    public String address;
    public String  id;
    public UserService userService;
    public boolean success=true;
    public User user=new User();
    
    public String save(){
    	System.out.println("action method save get id is:"+id);
    	try {
			int vid=Integer.parseInt(id);
    		this.updata();
		} catch (NumberFormatException e) {
	    	user.setAddress(address);
	    	user.setContext(context);
	    	user.setPassWord(passWord);
	    	user.setTelphone(telphone);
	    	user.setUserName(userName);
	    	userService.save(user);
			// TODO Auto-generated catch block
			//e.printStackTrace();
		}
    	return "success";
    }
    public String del(){
    	int vid=Integer.parseInt(id);

    	userService.del(vid);
    	return "success";
    }
    public String updata(){
    	System.out.println("action method update get id is:"+id);
    	int vid=Integer.parseInt(id);
    	user.setAddress(address);
    	user.setContext(context);
    	user.setPassWord(passWord);
    	user.setTelphone(telphone);
    	user.setUserName(userName);
    	user.setId(vid);
    	userService.update(user);
    	return "success";
    }
    public String findById(){
    	return "success";
    }
    public String findAll(){
    	users=userService.findAll();
    	return "success";
    }
    public List<User> getUsers() {
		return users;
	}
	public void setUsers(List<User> users) {
		this.users = users;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getPassWord() {
		return passWord;
	}
	public void setPassWord(String passWord) {
		this.passWord = passWord;
	}
	public String getTelphone() {
		return telphone;
	}
	public void setTelphone(String telphone) {
		this.telphone = telphone;
	}
	public String getContext() {
		return context;
	}
	public void setContext(String context) {
		this.context = context;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String findByName(){
    	return "success";
    }

	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}
	public boolean isSuccess() {
		return success;
	}
	public void setSuccess(boolean success) {
		this.success = success;
	}
	

	@Resource
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}

}

 

spring.xml

<?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:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.0.xsd">
       <context:annotation-config  />
       <context:component-scan base-package="com.james"/>
       <!-- 数据库配置部分 -->
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
          <property name="driverClassName">
               <value>com.mysql.jdbc.Driver</value>
          </property>
          <property name="url">
               <value>jdbc:mysql://localhost:3306/mydb</value>
          </property>
          <property name="username">
                <value>root</value>
          </property>
          <property name="password">
                <value>a</value>
          </property>
       </bean>
       <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
            <property name="annotatedClasses">
               <list>
                  <value>com.james.domain.User</value>
               </list>
            </property>
            <property name="hibernateProperties">
               <props>
                  <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                  <prop key="hibernate.show_sql">true</prop>
                  <prop key="hibernate.hbm2ddl.auto">update</prop>
               </props>
            </property>
       </bean>
       <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
             <property name="sessionFactory" ref="sessionFactory"></property>
       </bean>
</beans>

 

extjs部分

 

Ext.ns("com.james");
com.james.UserPanel = Ext.extend(Ext.Panel, {
			fields : ['id', 'userName', 'passWord', 'telphone', 'context',
					'address'],
			createEdit:function(){
							this.win = new Ext.Window({
							width : 300,
							height : 300,
							title : "用户维护",
							items : {
								xtype : "form",
								layout : "form",
								items : [
								        {xtype:"hidden",name:"id"},
									   	{
											xtype : "textfield",
											fieldLabel : "姓名",
											name : "userName",
											anchor : "70%"
										}, {
											xtype : "textfield",
											fieldLabel : "密码",
											name : "passWord",
											anchor : "70%"
										}, {
											xtype : "textfield",
											fieldLabel : "电话",
											name : "telphone",
											anchor : "70%"
										}, {
											xtype : "textfield",
											fieldLabel : "地址",
											name : "address",
											anchor : "70%"
										}, {
											xtype : "textarea",
											fieldLabel : "附录",
											name : "context",
											anchor : "70%"
										}]
							},
							buttons : [{
										text : "提交",
										handler : function() {
											this.win.getComponent(0).getForm()
													.submit({
														url : "usermgr!save",
														success : function() {
															Ext.Msg
																	.alert("添加成功");
															this.win.close();
															this.vstore.reload();
														},scope:this
													});
										},scope:this
									}, {
										text : "重置"
									}, {
										text : "取消",
										handler : function() {
											this.win.close();
										}
									}]
						});
			},
			// *********************************************添加用户用户**************************************************************
			//这种方式只要是有回调函数的地方都必须写 scope:this
			adduser : function() {
                this.createEdit();
				this.win.show();
				// ***********************************************************************************************************
			},
			deluser : function() {
				var record =this.grid.getSelectionModel().getSelected();
				var vid = record.get("id");
				Ext.Ajax.request({
							url : "usermgr!del",
							params : {
								id : vid
							},
							callback : function() {
								Ext.Msg.alert("信息提示", "删除成功");
								this.vstore.reload();
							},scope:this
						});
			},
			// ************************************修改用户***********************************************************************
			updateuser : function() {
               this.createEdit();
				this.win.show();
				// 获取当前鼠标选择记录
				var record = this.grid.getSelectionModel().getSelected();
				this.win.getComponent(0).getForm().loadRecord(record);
			},
		  // ***************************初始化窗口********************************************************************************
			initComponent : function() {
				com.james.UserPanel.superclass.initComponent.call(this);
				this.vstore = new Ext.data.JsonStore({
							url : "usermgr!findAll",
							root : "users",
							idProperty : "id",
							fields :this.fields
						});
				var p1 = new Ext.Panel({
							title : "panel1",
							height : 100,
							collapsible : true
						});
				var p2 = new Ext.Panel({
							title : "panel2",
							height : 100,
							collapsible : true
						});
				var p3 = new Ext.Panel({
							title : "panel3",
							height : 100,
							collapsible : true,
							animCollapse : true
						});
				this. grid = new Ext.grid.GridPanel({
							tbar : [{
										text : "添加",
										handler : this.adduser,scope:this
									}, "-", {
										text : "删除",
										handler : this.deluser,scope:this
									}, "-", {
										text : "修改",
										handler : this.updateuser,scope:this
									}],
							store : this.vstore,
							autoHeight : true,
							columns : [{
										header : "编号",
										dataIndex : "id"
									}, {
										header : "姓名",
										dataIndex : "userName"
									}, {
										header : "电话",
										dataIndex : "telphone"
									}, {
										header : "密码",
										dataIndex : "passWord"
									}, {
										header : "备注",
										dataIndex : "context"
									}, {
										header : "地址",
										dataIndex : "address"
									}]
						});
				this.add(this.grid);
				this.vstore.load();
			}
		});

Ext.onReady(function() {
			var up = new com.james.UserPanel({
						title : "jlksfdjklasfdj"
					});
			var vp = new Ext.Viewport({
						layout : "border",
						items : [{
									region : "north",
									height : 200
								}, {
									region : "west",
									width : 200
								}, {
									region : "center",
									items : [up]
								}]
					});
		})

 

分享到:
评论

相关推荐

    CRM系统源代码(ssh+extjs)

    在这个特定的案例中,我们讨论的是一个基于SSH(Struts2、Spring、Hibernate)和EXTJS技术构建的CRM系统源代码。 首先,SSH是一个流行的企业级Java应用开发框架。Struts2作为MVC(Model-View-Controller)架构的一...

    SSH+ExtJs的demo完全实现

    SSH+ExtJS是一种常见的Web应用开发模式,其中SSH代表Spring、Struts和Hibernate这三个Java开源框架的首字母缩写,而ExtJS则是一个强大的JavaScript前端框架。本demo完全实现了SSH和ExtJS的集成,提供了从前端用户...

    EXTJS完整项目

    8. **单元测试**:SSH框架支持JUnit进行后端代码的测试,EXTJS也可能包含测试用例,了解如何编写和执行测试用例,确保代码质量。 这个"教学管理系统"很可能是EXTJS+SSH实现的一个具体示例,涵盖了学生信息管理、...

    ExtJS+SSH+Junit的Demo

    "ExtJS+SSH+Junit的Demo" 这个标题指的是一个示例项目,它结合了三个关键技术:ExtJS(一个用于构建Web应用的JavaScript库)、SSH(Struts2、Spring和Hibernate的集成框架)以及Junit(Java单元测试框架)。...

    北大青鸟ACCP MyOFFCE系统S2sh+Extjs+sql20000

    1. **S2sh框架**:S2sh是Struts2、Spring和Hibernate三个开源框架的简称,它们共同构成了Java企业应用开发的常用基础架构。 - **Struts2**:是一个MVC(Model-View-Controller)框架,负责处理HTTP请求,提供动作...

    软件工程师简历模板式样.doc

    - **电信安全服务平台**:与多家安全服务厂商合作,采用Struts2、Hibernate和Spring构建,利用jQuery和DWR优化前端交互,展现了多方面的技术整合和项目实施能力。 7. **技术能力**:掌握快速原型工具Axure,熟悉...

    业务测试平台

    通过这些文件,开发者可以深入了解该平台是如何整合上述技术的,例如Struts如何处理请求、Hibernate如何映射数据库、Spring如何管理依赖以及ExtJS如何构建用户界面。此外,也可能包含了一些测试脚本和报告,用于验证...

    上传下载ExtJS 2.2 开源网络硬盘系统-dogdisk-project

    标题中的“上传下载ExtJS 2.2 开源网络硬盘系统-dogdisk-project”表明这是一个基于ExtJS 2.2框架开发的开源网络硬盘系统,名为dogdisk。这个项目可能是用于构建在线存储和文件共享平台的,允许用户上传、下载、管理...

    流程管理系统,rbac,dwr

    配合项目经理与客户交流完成需求确认采用快速原型制作工具Axure完成DEMO制作、并参与前期的需求用例的编写,该项目使用了JBPM4,并对JBPM4进行预研,掌握JBPM4的使用,主要是JPDL和JBPM4常用API,并完成Extjs3+...

    软件工程师简历模板式样.pdf

    2. **专业技能**:简历中提到的软件工程师具备J2EE开发经验,熟悉Java语言,精通Struts2、Spring、Hibernate和Extjs等技术框架,对工作流引擎JBPM4有深入理解和应用,了解JSON数据交换格式,具备数据库设计能力,...

    操作系统、项目管理、前沿技术、软件测试智力题.doc

    2. Struts2:作为Struts的升级版,Struts2提供了更多的功能和灵活性,支持拦截器、模板技术和多种视图技术。 3. iBatis:是一个SQL映射框架,它将SQL语句与Java代码分离,简化了数据访问层的开发。 4. Hibernate:是...

    bhtsys:一个有ssh+ext 做的平台管理系统...

    SSH(Spring、Struts2、Hibernate)是Java开发领域广泛使用的三大框架组合,它们在系统架构中分别负责了控制层、表现层和持久层的功能。EXT则是一个基于JavaScript的前端组件库,主要用于构建富客户端应用,提供美观...

Global site tag (gtag.js) - Google Analytics