情况是这样 有个类是Car 里面有一个Set<Book> book 的属性 现在 想通过Id保存一个book 我写的代码如下:
public String execute() throws Exception{
Book book=this.serviceDao.findBookById(this.book.getId());
this.serviceDao.saveBookToCar(book);
return SUCCESS;
}public void saveBookToCar(Book book){
this.car.getBook().add(book);
this.getHibernateTemplate().saveOrUpdate(this.car);
}
但是不好使
public String execute() throws Exception{
Book book=this.serviceDao.findBookById(this.book.getId());
this.serviceDao.saveBookToCar(book);
return SUCCESS;
}public void saveBookToCar(Book book){
this.car.getBook().add(book);
this.getHibernateTemplate().saveOrUpdate(this.car);
}
但是不好使
解决方案 »
- myeclipse中运行struts提示The requested resource (/ch03_m1/login.action) is not available.请问是怎么回事
- 急··~~~java用SSH框架如何控制登录的权限
- 启动tomat后报错
- 大家推荐一下判断两篇文章相似度方法?我尝试用lucene模糊搜索可以很好判断5、6个字的标题,但内容就不行了?有什么框架或方法可以实现?
- 大家EJB来开发都用什么啊,是CMP还是BMP啊!那个好啊,来者有分!
- session中SessionSynchronization的实现
- 刚学ejb,有个问题想问一下。望指教
- Java打印的问题
- JSP:include指令调用html页面时出现乱码
- 通过@FeignClient 请求报syntax error, expect {, actual error, pos 0
- Spring事务管理问题
- 初学STRUTS 2的一些问题。。。。
Impl.CarDaoImpl.saveBookToCar(CarDaoImpl.java:21)
ServiceImpl.ServiceDaoImpl.saveBookToCar(ServiceDaoImpl.java:92)
action.SaveBookToCarAction.execute(SaveBookToCarAction.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)第21行 就是
this.car.getBook().add(book);
this.getHibernateTemplate().saveOrUpdate(this.car);
然后你检查下你的SPRING配置文件。里面应该没有配置car这个属性。即在你的CAR类里,你要再配一个CAR car;这样才可以。
正确的做法如下:把ServiceDao设计成一个接口,或者你偷懒直接做成实现类也可以!在另一个文件里。不要通通放到那个CAR类里。
然后配置。
好吧。如果你非要那么做。你断点调试会不会?看哪个变量是空指针不就行了。我估计是你的那行this.car.getBook()
你car都没有new?! 这可以?你没用spring吧?
在开发中,调试是很重要的,能很快帮你找到问题。