我正在尝试使用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)```