[英]Passing javascript variable to spring MVC controller with request param
是否可以将 javascript 变量发送到 controller 端点,然后让 controller 返回新视图? 我尝试使用 requestbody 和 ajax 来执行此操作,它正确传递了变量,但无法加载新视图。
也许有办法用 thymeleaf 做到这一点?
如果您使用的是 Thymeleaf,那么只需通过文件名引用您想要返回给用户的模板。
@Controller
public class YourController {
@GetMapping("/someUrl")
public String getTemplate(@RequestParam String templateName){
return templateName;
}
}
这将是您需要的最低限度,假设您的模板位于正确的文件夹中 - 默认情况下位于resources/static
中。 如果前端向后端发送GET (/someUrl?templateName=xyz)
,它将从您的模板中返回xyz.html
。 如果它没有找到参数中请求的模板,那么它将返回 404。
编辑:阅读评论后,我意识到@RequestParam
和@PathVariable
之间可能存在混淆。 如果您想使用路径变量来定义模板名称,以便前端可以调用GET (/someUrl/xyz)
,那么您可以这样做
@Controller
public class YourController {
@GetMapping("/someUrl/{templateName}")
public String getTemplate(@PathVariable String templateName){
return templateName;
}
}
以下两者的资源:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.