具有对象导航关系的更新操作代码
时间:2010-06-24 来源:mozhx
user.java
int id;
String name;
Persion persion; //上面这样的具有对象导航关系的更新操作的代码:
UserActionForm uf = (UserActionForm )form;
User user = new User();
BeanUtils.copyPropertys(user,uf);
user.setPersion(getHibermateTemplate().load(Persion.Class,uf.getPersionId));
getHibermateTemplate().update(user); List lst = this.getHibernateTemplate().find("SELECT ur from UserRole ur where ur.user.id=?",uid);
<form action="user.do?command=addUserRole&id=${uid }" method="post">
//如上面用<form>标签时如果action为*.do那么method一定要设置为post否则用get提交时无法传递所有参数值,
//如果用的是struts的<html:form>标签设置get提交时就没有这个问题 <a href="#" onclick="openWin('user.do?method=userRoleInput&id=${user.id }','userRoleInput',600,200,1);">给用户分配角色</a>
struts国际化资源文件配置: <message-resources parameter="/MessageResources" /> <select name="role" id="role" onchange="change(this.options[selectedIndex].value)">
<option value="">--请选择--</option>
<option value='0102010102'>打包质检</option>
<option value='0102010103'>成品检验</option> ==========================================================================================
<select name="alluser" id="alluser" size="15" multiple="multiple" class="d">
</select> function tovalue()
{
var len=window.document.all.alluser.length;
var mess=window.document.all.alluser.value;
if(mess=='')
{
alert("请选择左边的人员信息")
}
for(var i=0;i<len;i++)
{
var bl=window.document.all.alluser.options.selected;
if(bl)
{
var allusertext= window.document.all.alluser.options.text;
var alluser=window.document.all.alluser.options.value;
window.document.all.selectuser.options[window.document.all.selectuser.length] = new Option(allusertext,alluser);
window.document.all.selectuser.options[0].selected='true';
window.document.all.alluser.options.remove(i);
i=-1;
len=window.document.all.alluser.length;
}
}
if(len>0)
{
window.document.all.alluser.options[0].selected='true';
}
}
=========================================================
if(ex instanceof SystemException){
SystemException se = (SystemException)ex;
//取出key值
//mo加上注释//如果SystemException里有message也有key那么就用key显示消息
(message就是用户自定义的错误文本)
//mo加上的注释//se.getValues()只是取得一个变量 如在SystemException()里传递一个参数userId变量,
//mo加上的注释//变量的值就会添加在key里的占位符的位置显示出来
//message消息也是添加在key里的占位符位置,如果key里没有占位符将无法显示message的消息
(message的消息就是用户自定义的消息如SystemException("不能删除")) String key = se.getKey();
if(key == null){
//mo加上的注释//在消息资源文件里的key也就是ae.getKey()取得的key,必须带有参数也就是占位符{0}
error = new ActionMessage(ae.getKey(), ex.getMessage());
}else{
if(se.getValues() != null){
error = new ActionMessage(key,se.getValues());
}else{
error = new ActionMessage(key);
}
}
int id;
String name;
Persion persion; //上面这样的具有对象导航关系的更新操作的代码:
UserActionForm uf = (UserActionForm )form;
User user = new User();
BeanUtils.copyPropertys(user,uf);
user.setPersion(getHibermateTemplate().load(Persion.Class,uf.getPersionId));
getHibermateTemplate().update(user); List lst = this.getHibernateTemplate().find("SELECT ur from UserRole ur where ur.user.id=?",uid);
<form action="user.do?command=addUserRole&id=${uid }" method="post">
//如上面用<form>标签时如果action为*.do那么method一定要设置为post否则用get提交时无法传递所有参数值,
//如果用的是struts的<html:form>标签设置get提交时就没有这个问题 <a href="#" onclick="openWin('user.do?method=userRoleInput&id=${user.id }','userRoleInput',600,200,1);">给用户分配角色</a>
struts国际化资源文件配置: <message-resources parameter="/MessageResources" /> <select name="role" id="role" onchange="change(this.options[selectedIndex].value)">
<option value="">--请选择--</option>
<option value='0102010102'>打包质检</option>
<option value='0102010103'>成品检验</option> ==========================================================================================
<select name="alluser" id="alluser" size="15" multiple="multiple" class="d">
</select> function tovalue()
{
var len=window.document.all.alluser.length;
var mess=window.document.all.alluser.value;
if(mess=='')
{
alert("请选择左边的人员信息")
}
for(var i=0;i<len;i++)
{
var bl=window.document.all.alluser.options.selected;
if(bl)
{
var allusertext= window.document.all.alluser.options.text;
var alluser=window.document.all.alluser.options.value;
window.document.all.selectuser.options[window.document.all.selectuser.length] = new Option(allusertext,alluser);
window.document.all.selectuser.options[0].selected='true';
window.document.all.alluser.options.remove(i);
i=-1;
len=window.document.all.alluser.length;
}
}
if(len>0)
{
window.document.all.alluser.options[0].selected='true';
}
}
=========================================================
if(ex instanceof SystemException){
SystemException se = (SystemException)ex;
//取出key值
//mo加上注释//如果SystemException里有message也有key那么就用key显示消息
(message就是用户自定义的错误文本)
//mo加上的注释//se.getValues()只是取得一个变量 如在SystemException()里传递一个参数userId变量,
//mo加上的注释//变量的值就会添加在key里的占位符的位置显示出来
//message消息也是添加在key里的占位符位置,如果key里没有占位符将无法显示message的消息
(message的消息就是用户自定义的消息如SystemException("不能删除")) String key = se.getKey();
if(key == null){
//mo加上的注释//在消息资源文件里的key也就是ae.getKey()取得的key,必须带有参数也就是占位符{0}
error = new ActionMessage(ae.getKey(), ex.getMessage());
}else{
if(se.getValues() != null){
error = new ActionMessage(key,se.getValues());
}else{
error = new ActionMessage(key);
}
}
相关阅读 更多 +