我正在使用 spring 框架开发一个 MVC Web 应用程序。在某些时候,我有一个jsp,它列出了如下所示的研究案例对象
<tbody>
<c:forEach items="${studycases}" var="studycase">
<tr>
<td>
<a href='<spring:url value="/studycase/${studycase.study_case_number}.html"/>'>
${studycase.study_case_number}
</a>
</td>
<td>
${studycase.dateOFHospitalAdmission}
</td>
<td>
${studycase.dateOfWardAdmission}
</td>
<td>
${studycase.dateOfWardDischarge}
</td>
</tr>
</c:forEach>
</tbody>
如您所见,有一个 spring:url 指向一个 jsp,其中包含有关特定研究案例的详细信息,由以下控制器处理:
@RequestMapping("/studycase/{studyCaseNumber}")
public String detail(Model model, @PathVariable String studyCaseNumber)
{
model.addAttribute("studyCase", studyCaseService.findOne(studyCaseNumber)) ;
model.addAttribute("measurements", measurementService.findAllOfThem(studyCaseNumber)) ;
return "study-case-detail" ;
}
问题是,由于第一个 jsp 中列出的研究案例可能有数千个,我需要让用户能够在输入字段中输入研究案例的 study_case_number 并获取具有研究案例的研究案例的详细信息输入的号码。所以我正在做的是:
<form action="<spring:url value="/studycase/study-case-detail2"/>" method="GET">
Study Case Number : <input type="text" name="studyCaseNumber">
<br/>
<input type="submit" value="Submit" />
</form>
这是由另一个控制器处理的,并指向另一个具有或多或少相同结构和数据的 jsp:
@RequestMapping("/studycase/study-case-detail2")
public String detail2(Model model, @RequestParam("studyCaseNumber") String std)
{
model.addAttribute("measurements", measurementService.findAllOfThem(std)) ;
return "study-case-detail2" ;
}
我的问题是:即使它们呈现或多或少相同的东西,这是拥有不同控制器和不同视图的好方法吗?还有什么其他选择??是否有任何来源可以指导我包含最佳实践目录或如何处理类似情况的指南?