如何解决“处理器执行期间出错”?

时间:2019-08-18 19:23:53

标签: java html spring jpa

我正在尝试使用Spring Boot和百里香叶显示一种表单来创建新工作。目前,我不担心它成功提交,我只希望它显示表单。

我设法成功显示了我的注册用户表单,没有任何问题。但是当我尝试访问newJobs.html模板时,它给了我 白标错误。

当我去newjobs查找指定的错误时,我找不到错误或如何纠正它。

我检查了html表单,因为对类似问题的一些回答说,这可能是我的问题之一:字段,但一切看起来还不错。

模板中有一个大写字母,以防万一且未做任何更改。

我从头开始重新启动,没有任何变化。

因为寄存器表格显示了,所以我拿走了我的寄存器控制器并将其复制并粘贴到newjobs控制器中,只更改了更改为newjob形式所需的代码,没有任何更改。通过从register.html表单获取同样的错误,对我的newjobs.html表单进行了相同的操作。 已更新,因为我意识到我不需要newJobs控制器,因此可以使用Jobs控制器。

newjobs.html正文


<body>

    <ul>
      <li><a href="/" th:text="#{index.home}"></a></li>
      <li><a href="/register"th:text="#{index.register}"></a></li>
      <li><a href="/jobs" th:text="#{index.jobs}"></a></li>
      <li><a href="/newJobs"  th:text="#{index.newjobs}"></a></li>
    </ul>

   <form action="#" method="post" th:object="${job}" th:action="@{/newjobs}">
        <div class="form-group">
            <label for="Name"><a th:text="#{Name}"></a></label> <input type="text"
                class="form-control" id="Name" placeholder="Name"
                th:field="*{Name}" required="required">
        </div>
        <div class="form-group">
            <label for="description"><a th:text="#{description}"></a></label> <input type="text"
                class="form-control" id="description" placeholder="description"
                th:field="*{description}" required="required">
        </div>
        <div class="form-group">
            <label for="email"> <a th:text="#{index.email}"></a></label> <input type="text"
                class="form-control" id="email" placeholder="Email"
                th:field="*{email}" required="required">
        </div>
        <div class="form-group">
            <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
        </div>
    </form>
</body>

newJobsController:

public class JobsController {

    @Autowired
    JobService jobService;

    @GetMapping("/jobs") 
    public String showJobs(Model model, Locale locale)
    {
        List<Job> jobs = JobService.findAll();
        model.addAttribute("jobs", jobs);
        return "jobs";

    }

    @GetMapping("/jobs/{id}") 
    public String showAJob(@PathVariable(name="id") int id, Model model, Locale locale)
    {
        Job job = jobService.findById(id);
        if (job == null)
        {
            model.addAttribute("id", id);
            return "notfounderror";
        }
        model.addAttribute("job", job);
        return "job";
    }

    @GetMapping("/newjobs")
    public String addNewJobForm(Model model)
    {
        model.addAttribute("job", new Job());
        return "newjobs";
    }

    @PostMapping("/newjobs")
    public String addNewJobSave(@Valid Job job, BindingResult binding, RedirectAttributes redirectAttributes)
    {
        if (binding.hasErrors())
            return "newJobs";

        if (JobService.save(job)!= null)
            return "redirect:Job/"+job.getId();
        else
            // starts again with empty form (new object)
            redirectAttributes.addFlashAttribute("duplicate", true);
            return "redirect:newJobs";  
    }

我希望只会看到一个简单的表单,其中包含用于姓名,描述和电子邮件的部分,以及一个提交和重置按钮。

相反,我只是看到:

This application has no explicit mapping for /error, so you are seeing this as a fallback.

    Sun Aug 18 20:15:53 IST 2019
    '''There was an unexpected error (type=Internal Server Error, status=500).
    Error during execution of processor 'org.thymeleaf.spring5.processor.SpringInputGeneralFieldTagProcessor' (template: "newjobs" - line 62, col 17)```

0 个答案:

没有答案