百里香,春天:停留在创建单个项目视图

时间:2018-10-07 12:18:28

标签: java spring spring-boot thymeleaf

我已经成功实现了添加访问并显示所有访问的列表,但是现在我仍然坚持为单个访问创建视图。

我的findById函数起作用:

logger.info("Visit id 2 -> {}", repository.findById(2));

Visit id 2 -> DentistVisitDTO[id='0', dentistName='Mait Kuusevaik', visitTime='2018-10-12T12:15']

当我单击列表项时,它会成功使用ID(即“ / results / 1”等)重定向到url。有没有一种方法可以使用URL中的ID并以某种方式在菜单项上呈现该项目使用findById()的页面?

我是Spring和Thyme的新手。

public DentistVisitDTO findById(long id) {
        return jdbcTemplate.queryForObject("SELECT * FROM DENTIST_VISIT where id=?", new Object[] { id },
                new BeanPropertyRowMapper<DentistVisitDTO>(DentistVisitDTO.class));
    }

1 个答案:

答案 0 :(得分:1)

您可以使用SpringMVC / SpringWeb的 @RequestMapping 批注从URL获取id属性:

import org.springframework.web.bind.annotation.RequestMapping;

@RequestMapping(value="/results/{id}", method=RequestMethod.GET)
public String detail(@PathVariable(value="id") String id, Model model) {
    DentistVisitDTO dentistVisit = repository.findById(id);
    System.out.println("GET /results [" + id + "]");
    model.addAttribute("dentistVisit", dentistVisit);
    return "details";
}