Spring MVC项目中的空指针异常
我正在创建一个包含教授字段的表单,这些字段是id(long)、nome(string)、username(string)、email(string)和curso_-coord(curso),因为curso是课程的参考变量 在表单中,输入用户名、名称和电子邮件字段供用户填写,如果用户是该课程的协调员,则该课程是供用户选择该课程的选项,如果不是,则为-1 我尝试使用curso.get(0).getId()来解决这个问题,但这还不够Spring MVC项目中的空指针异常,spring,spring-boot,spring-mvc,model-view-controller,nullpointerexception,Spring,Spring Boot,Spring Mvc,Model View Controller,Nullpointerexception,我正在创建一个包含教授字段的表单,这些字段是id(long)、nome(string)、username(string)、email(string)和curso_-coord(curso),因为curso是课程的参考变量 在表单中,输入用户名、名称和电子邮件字段供用户填写,如果用户是该课程的协调员,则该课程是供用户选择该课程的选项,如果不是,则为-1 我尝试使用curso.get(0).getId()来解决这个问题,但这还不够 @Controller @RequestMapping(value
@Controller
@RequestMapping(value = { "/professor" })
public class ProfessorController {
@Autowired
ProfessorRepository pr;
CursoRepository c;
@GetMapping(value = "")
@ResponseBody
public ModelAndView professorInicio() {
ModelAndView form = new ModelAndView("/form");
form.addObject("professor", new Professor());
List<Curso> curso = c.findAll();
curso.get(0).getId();
form.addObject("curso", curso);
return form;
}
@PostMapping(value = "")
@ResponseBody
public ModelAndView cadastraProfessor(@ModelAttribute ("professor") Professor professor){
//Professor prof = new Professor();
ModelAndView index = new ModelAndView("/index");
professor.getUsername();
professor.getEmail();
professor.getNome();
professor.getCursoCoord();
pr.save(professor);
return index;
}
....
}
<form th:action="@{/professor}" th:object = "${professor}" method="POST">
<div class = "form-group">
<label for = "username">Username</label>
<input type = "text" th:field = "*{username}" autofocus = "autofocus"/>
</div>
<div class = "form-group">
<label for = "nome">Nome</label>
<input type = "text" th:field = "*{nome}" autofocus = "autofocus"/>
</div>
<div class = "form-group">
<label for = "email">Email</label>
<input type = "hidden" name="email" value="">
<input type = "text" th:field = "*{email}" autofocus = "autofocus"/>
</div>
<div class = "form-group">
<select th:field = "*{curso_coord}">
<option
th:each = "c: ${cursos}"
th:value = "${c.id}">Cursos
</option>
<option value = -1> Não Coordenador
</option>
</select>"
</div>
<button type = "submit" class = "btn btn-success ">Salvar</button>
</form>
@控制器
@请求映射(值={“/”教授“})
公开课教授兼主任{
@自动连线
公共关系学教授;
粗略推断c;
@GetMapping(值=“”)
@应答器
公共模型和视图教授(){
ModelAndView form=newmodelandview(“/form”);
form.addObject(“professor”,newprofessor());
List curso=c.findAll();
curso.get(0.getId();
form.addObject(“curso”,curso);
申报表;
}
@后映射(值=“”)
@应答器
公共模型和视图地籍教授(@modeldattribute(“教授”)教授){
//教授=新教授();
ModelAndView索引=新ModelAndView(“/index”);
professor.getUsername();
getEmail()教授;
格诺姆教授();
getcursocord()教授;
公共关系主任(教授);
收益指数;
}
....
}
用户名
诺姆
电子邮件
库索斯
Não Coordenador
"
萨尔瓦多
2019-10-04 15:37:00.700错误17580---[nio-8081-exec-1]
c、 p.p.controller.ErrorController:Algum erro ocorreu
java.lang.NullPointerException:null
在com.planoensino.planoensino.controller.ProfessorController.professorInicio(ProfessorController.java:35)
~[main/:na]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_181]
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[na:1.8.0_181]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
~[na:1.8.0_181]
在java.lang.reflect.Method.invoke(Method.java:498)~[na:1.8.0_181]
位于org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
~[spring-web-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
~[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866)
[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
[javax.servlet-api-3.1.0.jar:3.1.0]
位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
[spring-webmvc-5.0.8.RELEASE.jar:5.0.8.RELEASE]
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[javax.servlet-api-3.1.0.jar:3.1.0]
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
[tomcat-embed-core-8.5.32.jar:8.5.32]
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-8.5.32.jar:8.5.32]
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
[tomcat-embed-websocket-8.5.32.jar:8.5.32]
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[tomcat-embed-core-8.5.32.jar:8.5.32]
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[tomcat-embed-core-8.5.32.jar:8.5.32]
位于org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
[spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
[spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
[spring-security-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
CursoRepository c;
@Autowired
ProfessorRepository pr;
@Autowired
CursoRepository c;
@Autowired
CursoRepository c;
@Autowired
CursoRepository c;