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] }] }); })