请教各位大侠一个struts 1.x的问题
我在试图层中我写了这些代码
<html:form action="users.do">
<html:hidden property="op" value="doUpdate"/>
${sysUserForm.item.usrName }:
<html:select property="item.role.roleId">
<html:option value="1">--未分配--</html:option>
<html:optionsCollection name="list_role" label="roleName" value="roleId"/>
</html:select>
<html:submit></html:submit>
</html:form>
我在逻辑层中这样处理:
public ActionForward doUpdate(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
SysUserForm userForm=(SysUserForm)form;
if(userForm.getItem().getRole().getRoleId()==1) {
userForm.getItem().setRole(null);
}
usersBiz.updateUser(userForm.getItem());
return mapping.findForward("userInfo");
}
但是:出现这样一个错误:org.apache.commons.beanutils.NestedNullException: Null property value for 'role'
这是为什么???
可能原因是:这个userForm.getItem().setRole(null);被我赋值为空了。
我是通过hibernate把数据进行了一个懒惰加载“lazy='false'”.
我这样去解决过:userForm.getItem().setRole(new SysRole());也不行,为什么??
但是怎么解决呢???
急求....谢谢了