关于getHibernateTemplate().update()的问题 我没写提交代码,不过看资料说提交操作已经被Spring封装在了update()这个函数里了. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "我没写提交代码,不过看资料说提交操作已经被Spring封装在了update()这个函数里了."怎么可能,你需要在spring的配置文件里面配置的 你执行的时候看看控制台的SQL语句,他有没执行啊?如果执行了,是执行update还是save啊。。如果是执行save那么你在update前最好set一个oid给他,不然他就变成save了。就不update了。最好把全部代码放上来,不然我不知道从何看起啊。 public ActionForward update_user_info(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response)throws Exception {DynaActionForm userForm=(DynaActionForm)form;User user=(User)userForm.get("user"); mgr.updateUser(user);return mapping.findForward("passthrough2");}----------------------------------------------------------------------------------它认为你的USER是个新对像,会重新分配OID,然后你又用了UPDATE,可以试用getHibernateTemplate().updateOrUpdate(user);. 对update()这个函数还是有点晕.我把代码粘上来,朋友们帮看看哪地方写的有问题.//user对象定义User.javapackage org.appfuse.model;public class User extends BaseObject{ private String name; private String password; private String email; private String www; //为了便于观看,get和set函数被省略掉了}//对象与数据库映射User.hbm.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"><hibernate-mapping> <class name="org.appfuse.model.User" table="t_user"> <id name="name" column="c_name" unsaved-value="0"> <generator class="assigned"/> //这个主键值希望通过输入来指定,而不希望系统自动生成,所以用了assigned </id> <property name="password" column="c_password" not-null="true"/> <property name="email" column="c_email" not-null="true"/> <property name="www" column="c_www"/> </class></hibernate-mapping>//数据库接口UserDAO.javapackage org.appfuse.dao;import org.appfuse.model.User;public interface UserDAO extends DAO{ public User getUser(String userName); public void saveUser(User user); public void updateUser(User user);}//接口实现UserDAOHibernate.javapackage org.appfuse.dao.hibernate;import org.appfuse.dao.UserDAO;import org.springframework.orm.hibernate.support.HibernateDaoSupport;import org.appfuse.model.User;public class UserDAOHibernate extends HibernateDaoSupport implements UserDAO{ public User getUser(String name) { return (User)getHibernateTemplate().get(User.class,name); } public void saveUser(User user) { getHibernateTemplate().save(user); } public void updateUser(User user) { getHibernateTemplate().update(user); } }//事物对象接口UserManager.javapackage org.appfuse.service;import org.appfuse.model.User;public interface UserManager{ public User getUser(String userName); public void saveUser(User user); public void updateUser(User user);}//事物对象接口的实现UserManagerImpl.javapackage org.appfuse.service.impl;import org.appfuse.service.UserManager;import org.appfuse.dao.UserDAO;import org.appfuse.model.User;public class UserManagerImpl implements UserManager{ private UserDAO dao; public void setUserDAO(UserDAO dao) {this.dao=dao;} public User getUser(String name) { return dao.getUser(name); } public void saveUser(User user) { dao.saveUser(user); } public void updateUser(User user) { dao.updateUser(user); } }//Spring配置文件applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property> <property name="url"><value>jdbc:hsqldb:db/appfuse</value></property> <property name="username"><value>sa</value></property> <property name="password"><value></value></property> </bean> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> <property name="dataSource"><ref local="dataSource"/></property> <property name="mappingResources"> <list> <!-- Add list of .hbm.xml files here --> <value>org/appfuse/model/User.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">net.sf.hibernate.dialect.HSQLDialect</prop> <prop key="hibernate.hbm2ddl.auto">create</prop> </props> </property> </bean> <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) --> <bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <!-- Add DAOs here --> <bean id="userDAO" class="org.appfuse.dao.hibernate.UserDAOHibernate"> <property name="sessionFactory"> <ref local="sessionFactory"/> </property> </bean> <!-- Add Managers here --> <bean id="userManagerTarget" class="org.appfuse.service.impl.UserManagerImpl"> <property name="userDAO"> <ref local="userDAO"/> </property> </bean> <bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref local="transactionManager"/> </property> <property name="target"> <ref local="userManagerTarget"/> </property> <property name="transactionAttributes"> <props> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="remove*">PROPAGATION_REQUIRED</prop> <prop key="*">PROPAGATION_REQUIRED,readOnly</prop> </props> </property> </bean> </beans> //事物处理控制中心UserAction.jsppackage org.appfuse.web;import org.apache.struts.actions.DispatchAction;import org.appfuse.service.UserManager;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.ActionForm;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionMessages;import org.apache.struts.action.ActionMessage;import org.appfuse.model.User;import javax.servlet.http.HttpSession;import org.apache.struts.action.DynaActionForm;public class UserAction extends DispatchAction{ private UserManager mgr=null; public void setUserManager(UserManager userManager) {this.mgr=userManager;} //为了便于观看,其他事物处理函数没写,仅留这个更新操作函数 public ActionForward update_user_info(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { DynaActionForm userForm=(DynaActionForm)form; User user=(User)userForm.get("user"); mgr.updateUser(user); return mapping.findForward("passthrough2"); }}//struts配置文件struts-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config> <!-- ======================================== Form Bean Definitions --> <form-beans> <form-bean name="userForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="user" type="org.appfuse.model.User"/> </form-bean> </form-beans> <!-- =================================== Global Forward Definitions --> <global-forwards> </global-forwards> <!-- =================================== Action Mapping Definitions --> <action-mappings> <action path="/user" type="org.springframework.web.struts.DelegatingActionProxy" name="userForm" scope="session" parameter="method" > <forward name="index" path="/myindex.jsp"/> <forward name="register" path="/register.jsp"/> <forward name="register_confirm" path="/register_confirm.jsp"></forward> <forward name="passthrough1" path="/passthrough.jsp?showword=zhuce"></forward> <forward name="revise" path="/revise.jsp"></forward> <forward name="passthrough2" path="/passthrough.jsp?showword=xiugai"></forward> </action> </action-mappings> <!-- ================================ Message Resources Definitions --> <message-resources parameter="messages"/> <!-- ======================================= Plug Ins Configuration --> <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml"/> </plug-in> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/> </plug-in></struts-config>//另一struts配置文件action-servlet.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <!-- Define Struts Actions here --> <bean name="/user" class="org.appfuse.web.UserAction" singleton="false"> <property name="userManager"> <ref bean="userManager"/> </property> </bean></beans>//修改注册信息的页面revise.jsp<%@page language="java" pageEncoding="UTF-8"%><%@page contentType="text/html;charset=UTF-8"%><%@include file="/taglibs.jsp"%><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>用户修改注册信息</title><link rel=stylesheet href="style.css" type="text/css"></head><body><%@include file="top.htm"%><%@include file="/messages.jsp"%><center><p>请修改您的个人信息(标注'*'的内容必须填写)</p><html:form action="/user" focus="user.password" onsubmit="return validateUserForm(this)"><input type="hidden" name="method" value="update_user_info"><table width='70%' border='1' height='160'><tr> <td align='left' colspan='2'>登录名: <html:text property="user.name"/> </td></tr><tr> <td align='left'>密码:<html:password property="user.password"/></td> <td align='left'>确认:<input type="password" name="re_password" value=<bean:define id="user" name="userForm" property="user"/> <bean:write name="user" property="password"/>> </td></tr><tr> <td align='left'>Email:<html:text property="user.email"/></td> <td align='left'>主页:<html:text property="user.www"/></td></tr><tr> <td colspan='2' align='center'> <html:submit styleClass="button">确认修改</html:submit> </td></tr></table></html:form><html:javascript formName="userForm"/></center><%@include file="bottom.htm"%></body></html> 这是程序运行的日志DEBUG - TransactionInterceptor.invoke(168) | Getting transaction for method 'updateUser' in class [org.appfuse.service.UserManager]DEBUG - AbstractPlatformTransactionManager.getTransaction(163) | Using transaction object [org.springframework.orm.hibernate.HibernateTransactionObject@13f903b]DEBUG - AbstractPlatformTransactionManager.getTransaction(214) | Creating new transactionDEBUG - SessionFactoryUtils.getSession(183) | Opening Hibernate sessionDEBUG - SessionImpl.<init>(555) | opened sessionDEBUG - HibernateTransactionManager.doBegin(271) | Opened new session [net.sf.hibernate.impl.SessionImpl@1784911] for Hibernate transactionDEBUG - HibernateTransactionManager.doBegin(280) | Beginning Hibernate transaction on session [net.sf.hibernate.impl.SessionImpl@1784911]INFO - DriverManagerDataSource.getConnectionFromDriverManager(152) | Creating new JDBC connection to [jdbc:hsqldb:db/appfuse]DEBUG - HibernateTransactionManager.doBegin(292) | Setting JDBC connection [org.hsqldb.jdbcConnection@1ed957d] read-onlyDEBUG - JDBCTransaction.begin(37) | beginDEBUG - JDBCTransaction.begin(41) | current autocommit status:trueDEBUG - JDBCTransaction.begin(43) | disabling autocommitDEBUG - TransactionSynchronizationManager.bindResource(141) | Bound value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] to thread [http-8080-Processor25]DEBUG - TransactionSynchronizationManager.bindResource(141) | Bound value [org.springframework.jdbc.datasource.ConnectionHolder@38c8c5] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@1f5d699] to thread [http-8080-Processor25]DEBUG - TransactionSynchronizationManager.initSynchronization(192) | Initializing transaction synchronizationDEBUG - TransactionSynchronizationManager.getResource(117) | Retrieved value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] bound to thread [http-8080-Processor25]DEBUG - SessionImpl.doUpdateMutable(1439) | updating [org.appfuse.model.User#sss]DEBUG - TransactionInterceptor.invoke(208) | Invoking commit for transaction on method 'updateUser' in class [org.appfuse.service.UserManager]DEBUG - AbstractPlatformTransactionManager.triggerBeforeCommit(432) | Triggering beforeCommit synchronizationDEBUG - AbstractPlatformTransactionManager.triggerBeforeCompletion(447) | Triggering beforeCompletion synchronizationINFO - AbstractPlatformTransactionManager.commit(315) | Initiating transaction commitDEBUG - HibernateTransactionManager.doCommit(382) | Committing Hibernate transaction on session [net.sf.hibernate.impl.SessionImpl@1784911]DEBUG - JDBCTransaction.commit(59) | commitDEBUG - SessionImpl.afterTransactionCompletion(585) | transaction completionDEBUG - JDBCTransaction.toggleAutoCommit(103) | re-enabling autocommitDEBUG - AbstractPlatformTransactionManager.triggerAfterCompletion(477) | Triggering afterCompletion synchronizationDEBUG - TransactionSynchronizationManager.clearSynchronization(232) | Clearing transaction synchronizationDEBUG - TransactionSynchronizationManager.unbindResource(163) | Removed value [org.springframework.jdbc.datasource.ConnectionHolder@38c8c5] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@1f5d699] from thread [http-8080-Processor25]DEBUG - TransactionSynchronizationManager.unbindResource(163) | Removed value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] from thread [http-8080-Processor25]DEBUG - HibernateTransactionManager.doCleanupAfterCompletion(461) | Resetting read-only flag of connection [org.hsqldb.jdbcConnection@1ed957d]DEBUG - HibernateTransactionManager.doCleanupAfterCompletion(475) | Closing Hibernate session [net.sf.hibernate.impl.SessionImpl@1784911] after transactionDEBUG - SessionFactoryUtils.closeSessionIfNecessary(348) | Closing Hibernate sessionDEBUG - SessionImpl.close(573) | closing sessionDEBUG - SessionImpl.disconnect(3332) | disconnecting sessionDEBUG - SessionImpl.afterTransactionCompletion(585) | transaction completion struts2.3.4.1整合ssh异常 字母检索 两个不同类型的同名变量设置 关于南京联创科技和上海易宝公司(南京分公司),急啊,各位好心的大侠帮帮小弟啊。 问个struts2标签的简单问题 select标签引用list报错 ,求大神!!! struts2 weblogic下上传文件问题 struts关于标签库的问题 使用JB9来开发EJB,怎么做比较好调试? 100分求助JavaMail中addHeader()的问题 TinyMCE问题 熟悉struts2的朋友进。简单问题。立即给分。
如果执行了,是执行update还是save啊。。如果是执行save那么你在update前最好set一个oid给他,不然他就变成save了。就不update了。最好把全部代码放上来,不然我不知道从何看起啊。
DynaActionForm userForm=(DynaActionForm)form;
User user=(User)userForm.get("user");
mgr.updateUser(user);
return mapping.findForward("passthrough2");
}
----------------------------------------------------------------------------------
它认为你的USER是个新对像,会重新分配OID,然后你又用了UPDATE,可以试用getHibernateTemplate().updateOrUpdate(user);.
package org.appfuse.model;
public class User extends BaseObject{
private String name;
private String password;
private String email;
private String www;
//为了便于观看,get和set函数被省略掉了
}//对象与数据库映射User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="org.appfuse.model.User" table="t_user">
<id name="name" column="c_name" unsaved-value="0">
<generator class="assigned"/> //这个主键值希望通过输入来指定,而不希望系统自动生成,所以用了assigned
</id>
<property name="password" column="c_password" not-null="true"/>
<property name="email" column="c_email" not-null="true"/>
<property name="www" column="c_www"/>
</class>
</hibernate-mapping>
//数据库接口UserDAO.java
package org.appfuse.dao;
import org.appfuse.model.User;
public interface UserDAO extends DAO{
public User getUser(String userName);
public void saveUser(User user);
public void updateUser(User user);
}//接口实现UserDAOHibernate.java
package org.appfuse.dao.hibernate;
import org.appfuse.dao.UserDAO;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.appfuse.model.User;
public class UserDAOHibernate extends HibernateDaoSupport implements UserDAO{
public User getUser(String name)
{
return (User)getHibernateTemplate().get(User.class,name);
}
public void saveUser(User user)
{
getHibernateTemplate().save(user);
}
public void updateUser(User user)
{
getHibernateTemplate().update(user);
}
}//事物对象接口UserManager.java
package org.appfuse.service;
import org.appfuse.model.User;
public interface UserManager{
public User getUser(String userName);
public void saveUser(User user);
public void updateUser(User user);
}//事物对象接口的实现UserManagerImpl.java
package org.appfuse.service.impl;
import org.appfuse.service.UserManager;
import org.appfuse.dao.UserDAO;
import org.appfuse.model.User;
public class UserManagerImpl implements UserManager{
private UserDAO dao;
public void setUserDAO(UserDAO dao)
{this.dao=dao;}
public User getUser(String name)
{
return dao.getUser(name);
}
public void saveUser(User user)
{
dao.saveUser(user);
}
public void updateUser(User user)
{
dao.updateUser(user);
}
}//Spring配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property>
<property name="url"><value>jdbc:hsqldb:db/appfuse</value></property>
<property name="username"><value>sa</value></property>
<property name="password"><value></value></property>
</bean> <!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="mappingResources">
<list>
<!-- Add list of .hbm.xml files here -->
<value>org/appfuse/model/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.HSQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean> <!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory"><ref local="sessionFactory"/></property>
</bean>
<!-- Add DAOs here -->
<bean id="userDAO" class="org.appfuse.dao.hibernate.UserDAOHibernate">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<!-- Add Managers here -->
<bean id="userManagerTarget" class="org.appfuse.service.impl.UserManagerImpl">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
<bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager"/>
</property>
<property name="target">
<ref local="userManagerTarget"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
</beans>
package org.appfuse.web;
import org.apache.struts.actions.DispatchAction;
import org.appfuse.service.UserManager;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionMessage;
import org.appfuse.model.User;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.DynaActionForm;
public class UserAction extends DispatchAction{
private UserManager mgr=null;
public void setUserManager(UserManager userManager)
{this.mgr=userManager;}
//为了便于观看,其他事物处理函数没写,仅留这个更新操作函数
public ActionForward update_user_info(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception {
DynaActionForm userForm=(DynaActionForm)form;
User user=(User)userForm.get("user");
mgr.updateUser(user);
return mapping.findForward("passthrough2");
}
}//struts配置文件struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ======================================== Form Bean Definitions -->
<form-beans>
<form-bean
name="userForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="user" type="org.appfuse.model.User"/>
</form-bean>
</form-beans>
<!-- =================================== Global Forward Definitions -->
<global-forwards>
</global-forwards>
<!-- =================================== Action Mapping Definitions -->
<action-mappings>
<action path="/user"
type="org.springframework.web.struts.DelegatingActionProxy" name="userForm"
scope="session" parameter="method" >
<forward name="index" path="/myindex.jsp"/>
<forward name="register" path="/register.jsp"/>
<forward name="register_confirm" path="/register_confirm.jsp"></forward>
<forward name="passthrough1" path="/passthrough.jsp?showword=zhuce"></forward>
<forward name="revise" path="/revise.jsp"></forward>
<forward name="passthrough2" path="/passthrough.jsp?showword=xiugai"></forward>
</action>
</action-mappings>
<!-- ================================ Message Resources Definitions -->
<message-resources parameter="messages"/>
<!-- ======================================= Plug Ins Configuration -->
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml"/>
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
</struts-config>//另一struts配置文件action-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Define Struts Actions here -->
<bean name="/user" class="org.appfuse.web.UserAction" singleton="false">
<property name="userManager">
<ref bean="userManager"/>
</property>
</bean>
</beans>//修改注册信息的页面revise.jsp
<%@page language="java" pageEncoding="UTF-8"%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@include file="/taglibs.jsp"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>用户修改注册信息</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>
<body>
<%@include file="top.htm"%>
<%@include file="/messages.jsp"%>
<center>
<p>请修改您的个人信息(标注'*'的内容必须填写)</p>
<html:form action="/user" focus="user.password"
onsubmit="return validateUserForm(this)">
<input type="hidden" name="method" value="update_user_info">
<table width='70%' border='1' height='160'>
<tr>
<td align='left' colspan='2'>登录名:
<html:text property="user.name"/>
</td>
</tr>
<tr>
<td align='left'>密码:<html:password property="user.password"/></td>
<td align='left'>确认:<input type="password" name="re_password"
value=<bean:define id="user" name="userForm" property="user"/>
<bean:write name="user" property="password"/>>
</td>
</tr>
<tr>
<td align='left'>Email:<html:text property="user.email"/></td>
<td align='left'>主页:<html:text property="user.www"/></td>
</tr>
<tr>
<td colspan='2' align='center'>
<html:submit styleClass="button">确认修改</html:submit>
</td>
</tr>
</table>
</html:form>
<html:javascript formName="userForm"/>
</center>
<%@include file="bottom.htm"%>
</body>
</html>
DEBUG - AbstractPlatformTransactionManager.getTransaction(163) | Using transaction object [org.springframework.orm.hibernate.HibernateTransactionObject@13f903b]
DEBUG - AbstractPlatformTransactionManager.getTransaction(214) | Creating new transaction
DEBUG - SessionFactoryUtils.getSession(183) | Opening Hibernate session
DEBUG - SessionImpl.<init>(555) | opened session
DEBUG - HibernateTransactionManager.doBegin(271) | Opened new session [net.sf.hibernate.impl.SessionImpl@1784911] for Hibernate transaction
DEBUG - HibernateTransactionManager.doBegin(280) | Beginning Hibernate transaction on session [net.sf.hibernate.impl.SessionImpl@1784911]
INFO - DriverManagerDataSource.getConnectionFromDriverManager(152) | Creating new JDBC connection to [jdbc:hsqldb:db/appfuse]
DEBUG - HibernateTransactionManager.doBegin(292) | Setting JDBC connection [org.hsqldb.jdbcConnection@1ed957d] read-only
DEBUG - JDBCTransaction.begin(37) | begin
DEBUG - JDBCTransaction.begin(41) | current autocommit status:true
DEBUG - JDBCTransaction.begin(43) | disabling autocommit
DEBUG - TransactionSynchronizationManager.bindResource(141) | Bound value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] to thread [http-8080-Processor25]
DEBUG - TransactionSynchronizationManager.bindResource(141) | Bound value [org.springframework.jdbc.datasource.ConnectionHolder@38c8c5] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@1f5d699] to thread [http-8080-Processor25]
DEBUG - TransactionSynchronizationManager.initSynchronization(192) | Initializing transaction synchronization
DEBUG - TransactionSynchronizationManager.getResource(117) | Retrieved value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] bound to thread [http-8080-Processor25]
DEBUG - SessionImpl.doUpdateMutable(1439) | updating [org.appfuse.model.User#sss]
DEBUG - TransactionInterceptor.invoke(208) | Invoking commit for transaction on method 'updateUser' in class [org.appfuse.service.UserManager]
DEBUG - AbstractPlatformTransactionManager.triggerBeforeCommit(432) | Triggering beforeCommit synchronization
DEBUG - AbstractPlatformTransactionManager.triggerBeforeCompletion(447) | Triggering beforeCompletion synchronization
INFO - AbstractPlatformTransactionManager.commit(315) | Initiating transaction commit
DEBUG - HibernateTransactionManager.doCommit(382) | Committing Hibernate transaction on session [net.sf.hibernate.impl.SessionImpl@1784911]
DEBUG - JDBCTransaction.commit(59) | commit
DEBUG - SessionImpl.afterTransactionCompletion(585) | transaction completion
DEBUG - JDBCTransaction.toggleAutoCommit(103) | re-enabling autocommit
DEBUG - AbstractPlatformTransactionManager.triggerAfterCompletion(477) | Triggering afterCompletion synchronization
DEBUG - TransactionSynchronizationManager.clearSynchronization(232) | Clearing transaction synchronization
DEBUG - TransactionSynchronizationManager.unbindResource(163) | Removed value [org.springframework.jdbc.datasource.ConnectionHolder@38c8c5] for key [org.springframework.jdbc.datasource.DriverManagerDataSource@1f5d699] from thread [http-8080-Processor25]
DEBUG - TransactionSynchronizationManager.unbindResource(163) | Removed value [org.springframework.orm.hibernate.SessionHolder@f16568] for key [net.sf.hibernate.impl.SessionFactoryImpl@ec32de] from thread [http-8080-Processor25]
DEBUG - HibernateTransactionManager.doCleanupAfterCompletion(461) | Resetting read-only flag of connection [org.hsqldb.jdbcConnection@1ed957d]
DEBUG - HibernateTransactionManager.doCleanupAfterCompletion(475) | Closing Hibernate session [net.sf.hibernate.impl.SessionImpl@1784911] after transaction
DEBUG - SessionFactoryUtils.closeSessionIfNecessary(348) | Closing Hibernate session
DEBUG - SessionImpl.close(573) | closing session
DEBUG - SessionImpl.disconnect(3332) | disconnecting session
DEBUG - SessionImpl.afterTransactionCompletion(585) | transaction completion