Java Spring MVC+;休眠应用程序

Java Spring MVC+;休眠应用程序,java,spring,hibernate,jsp,Java,Spring,Hibernate,Jsp,我有一个应用程序(SpringMVC+Hibernate)和AppFuse框架 我有两个实体:User和Robot,具有多对一关系 我需要在Robot表单(robotForm.jsp)中为所有者(User)添加一个下拉列表 机器人实体有一个用户。我读到我必须为用户创建一个自定义编辑器。(UserCustomEditor扩展了PropertyEditorSupport)并覆盖RobotFormController中的referenceData添加到initBinder中 机器人表单控制器 受保护的

我有一个应用程序(SpringMVC+Hibernate)和AppFuse框架

我有两个实体:
User
Robot
,具有多对一关系

我需要在
Robot
表单(robotForm.jsp)中为所有者(
User
)添加一个下拉列表

机器人
实体有一个
用户
。我读到我必须为
用户
创建一个自定义
编辑器
。(
UserCustomEditor扩展了PropertyEditorSupport
)并覆盖
RobotFormController
中的
referenceData
添加到
initBinder

机器人表单控制器

受保护的void initBinder(HttpServletRequest请求,ServletRequestDataBinder){
SimpleDataFormat dateFormat=新的SimpleDataFormat(getText(“date.format”);
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class,null,
新的CustomDateEditor(dateFormat,true));
binder.registerCustomEditor(Long.class,null,
新的CustomNumberEditor(Long.class,null,true));
binder.registerCustomEditor(User.class,新的UserEditor(userManager));
}
// ...
受保护映射引用数据(HtpsServletRequest请求)引发异常{
Map ownersMap=newhashmap();
ownersMap.put(“owners”,userManager.getUsers();
返回所有者地图;
}
userManager.getUsers();
返回用户列表

UserEditor(可能这是我的错误)

公共类UserEditor扩展了PropertyEditorSupport{
专用最终用户管理器用户管理器;
受保护的最终瞬态日志=LogFactory.getLog(getClass());
公共用户编辑器(UserManager UserManager)抛出IllegalArgumentException{
this.userManager=userManager;
}
@凌驾
public void setAsText(字符串文本)引发IllegalArgumentException{
if(text!=null&&text.length()>0){
试一试{
User=userManager.getUser(新字符串(文本));
super.setValue(用户);
}捕获(NumberFormatException ex){
抛出新的IllegalArgumentException();
}
}否则{
super.setValue(null);
}
}
@凌驾
公共字符串getAsText(){
User=(User)super.getValue();
return(user!=null?(user.getId()+).toString():“”);
}
} 
robotForm.jsp


我看到的唯一一件事是,
'userManager'
没有被实例化

您可以检查它是否已通过
(userManager==null)
。 在我看来,你的代码很好,没有考虑逻辑。我认为你对Spring的IoC的配置是这里的问题

你能发布你的*.xml文件吗。 这将有助于解决您的问题


干杯!

userManager为空。您是实例化还是注入它?向我们展示完整的代码。经过编辑,RobotFormController有一个userManager的实例。您的RobotFormController在哪里?并向我们展示bean配置。经过编辑。添加Robot.java。User.java看起来像Robot.java.Robot.hbm.xml(Hibernate配置)有多对一的关系。谢谢你的回答。我可以用robotManager修复它。我使用robotManager获取用户。(robotManager.getUsers()方法)。我认为我的错误不是将UserManager与RobotFormController相关联。或者至少我读到了这一点。