当前位置: 首页 > 知识库问答 >
问题:

Spring MVC项目中出现空指针异常

长孙鸿波
2023-03-14

我正在创建一个包含教授字段的表单,这个字段是id(长)、nome(字符串)、username(字符串)、email(字符串)和curso_coord(curso),因为curso是一个类课程的引用变量

我尝试了curso.get(0).getid()来解决这个问题,但这是不够的

@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>

2019-10-04 15:37:00.700错误17580---[nio-8081-exec-1]C.P.P.Controller.ErrorController:Algum erro Ocorreu!

2019-10-04 15:37:00.702警告17580---[nio-8081-exec-1].M.M.A.ExceptionHandlerExceptionResolver:处理程序执行导致的已解决异常:java.lang.NullPointerException

共有1个答案

岳嘉良
2023-03-14

您忘记将@autowired放在cursorepository c

只需通过替换现有代码来修改代码:

@Autowired
CursoRepository c;
 类似资料:
  • 我和我的朋友正在开发一个JavaFX应用程序,它充当我们学校的规划器。我们有任务(课堂作业)、事件、课程和学生信息。为了将数据持久地存储在用户的硬盘上,我们使用了JAXB。 我们已经注释了我们的类,并且可以成功地在包装器中整理任务类。问题是解组文件。 > 混淆名称和注释。命名似乎不是问题所在。 确定文件位置以确保其正确。 确定知道的类。它同时识别和类。 sysouting。它在内存中显示了一个有效

  • 以下是在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.NativeMethodAccessorImpl.Invoke(未知源)在java.lang.Reflect.Method.Invoke(未知源)在com.codena

  • 问题内容: 我正在android中做一个应用程序,因此我需要访问com.android.internal.telephony API。现在,我可以访问这些API了,但问题是,无论我在自己的类中调用Class Call.java方法的什么地方,都会抛出。您可以在http://hi- android.info/src/com/android/internal/telephony/Call.java.h

  • 我正在尝试使用selenium webdriver、testng和page Factory实现自动化。但我面临空指针异常。

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 我用的是带m2e插件和最新的gae依赖项的Eclipse 4.4.1。当我导入gae模块样本项目时,eclipse告诉我项目配置不是最新的。如果我运行建议的maven - 根据NPE的项目更新,有很多bug报告。到目前为止,我已经在新的或现有的工作区中尝试了mvn-eclipse:eclipse或maven项目导入,但我始终无法在eclipses中运行这些项目。 对此有什么解决办法吗? 编辑:这是