这是控制器1:
@Controller
@RequestMapping("/clusters")
public class ClusterController {
@Autowired
private ClusterService clusterService;
@RequestMapping(method = RequestMethod.GET)
public String getAllClusters(Model model){
List<Cluster> clusters = this.clusterService.getAllClusters();
model.addAttribute("clusters", clusters);
return "clusters";
}
@RequestMapping(value = "/clusterInfo", method = RequestMethod.GET)
public String getCluster(@RequestParam("id") Integer id, Model model){
Cluster cluster = this.clusterService.findClusterById(id);
model.addAttribute("cluster", cluster);
return "testcluster";
}
控制器2:
@Controller
@RequestMapping("/requirements")
public class RequirementController {
@RequestMapping("/")
public String getRequirements(){
return "requirements";
}
}
首先,我看到所有集群。之后,我可以单击站点上的按钮以查看单个群集(来自控制器1的方法2)。
当我看到单个群集时,我想单击按钮以查看链接到该群集的要求。其方法在Controller 2中。
从控制器1到2时,我想拥有以下网址路径。
http://localhost:8080/clusters
http://localhost:8080/clusters/clusterInfo?id=1
http://localhost:8080/clusters/clusterInfo?id=1/requirements
这是我用来从网址2到3的按钮。 更
它不起作用并给我一个错误。我的问题是,如何使用指定的url路径从控制器1转到2并在控制器2中检索id = 1?
这是我的第一个项目,所以我对Spring Boot和Thymeleaf一无所知。
答案 0 :(得分:1)
?
标记查询字符串参数的开头,根据URI RFC标准,您无法在查询字符串参数后指定路径。
我建议改为将URI更改为:
http://localhost:8080/clusters/<clusterId>/clusterInfo
Ex: http://localhost:8080/clusters/1/clusterInfo
和
http://localhost:8080/clusters/<clusterId>/requeriments
Ex: http://localhost:8080/clusters/1/requirements