0

Spring MVC でドロップダウン ボックスに入力したいのですが、これを実行しようとしましたが、null ポインター例外が発生しています

これは私のコントローラーです:

public class CatalogueController  {
private CatalogueService catalogueService;
private PublisherService publisherService;
private SubjectService subjectService; 

   // some code and i generated setter and getter methods  
   ............

 @RequestMapping(value="/catalogue/new.action", method=RequestMethod.GET)  
   public ModelAndView newMember() throws Exception {
    ModelAndView mvc= null;
    mvc =   new ModelAndView("catalogue/catalogueForm", "catalogueForm", new CatalogueBase());
    mvc.addObject("copyDetailForm", new CatalogueCopyDetails());

    List<Publisher> publist = publisherService.getPublisherList();
    mvc.addObject("publist", publist);

    List<Subject> subjectlist = subjectService.getSubjectList();
    mvc.addObject("subjectlist", subjectlist);

    return mvc;
}  

これは私のサービス方法です:

    @Override
public List<Publisher> getPublisherList() {
    List<Publisher> list = publisherDAO.getPublisher();
    return list;
}
    @Override
public List<Subject> getSubjectList() {
    List<Subject> list = subjectDAO.getSubjects();
    return list;
}

これは私のDAOメソッドです:

    @SuppressWarnings("unchecked")
public List<Publisher> getPublisher() {
      Query qry = getSession().createQuery("from Publisher");
        return qry.list();
}
    @SuppressWarnings("unchecked")
public List<Subject> getSubjects() {
      Query qry = getSession().createQuery("from Subject");
        return qry.list();
}

最後に、これは私の JSP ページです:

  <form:form commandname="catalogueForm"    action="${pageContext.request.contextPath}/catalogue/create.action" method="post" modelAttribute="catalogueForm">

    <form:select path="publisher.id" id="publisher.id">
    <form:options items="${publist}" itemValue="id" itemLabel="name" />
    </form:select>                                                        

    <form:select path="subject.id" id="subject.id">                            
    <form:options items="${subjectlist}" itemValue="id" itemLabel="name" />
    </form:select>

   </form:form>

これはスタック トレースです。

com.easylib.elibrary.webapp.controller.catalogue.CatalogueController.newMember(CatalogueController.java:80) での java.lang.NullPointerException .java:57) で、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で、java.lang.reflect.Method.invoke(Method.java:601) で、org.springframework.web.method.support.InvocableHandlerMethod で。 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) の invoke(InvocableHandlerMethod.java:219) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod. java:100) org.springframework.web.org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) で org.springframework.web. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) の servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) で80) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) で

4

1 に答える 1

0

コントローラーの 80 行目で npe を取得していますが、どの行が質問に含まれているのかわかりません。

私の推測では、サービスを正しく配線しておらず、「publisherService」または「subjectService」のいずれかが null になっていると思われます。

于 2013-06-27T11:58:19.593 に答える