我是Spring框架的新手,也许这是一个简单的问题。
我有如下链接并尝试Spring控制器处理值" 201610061023"这个链接。但是,我的代码没有用。
我知道这个值可以附加为路径中的参数或路径变量,但我只是好奇,我可以隐式传递这个值吗?
非常感谢。
<a href="./Order" name="test">201610061023</a>
@RequestMapping(value = "/Order")
public String requestHandlingMethod(@ModelAttribute("test") String name, HttpServletRequest request) {
return "nextpage";
}
答案 0 :(得分:0)
你的a-tag错了,你需要提交id ,没有隐式的方式来提交链接文本(除了很多java脚本代码)!
<a href="./Order/201610061023" name="test">201610061023</a>
@RequestMapping(value = "/Order/{orderId}")
public String requestHandlingMethod(@PathVariable("orderId") long orderId, @ModelAttribute("test") String name, HttpServletRequest request) {
return "nextpage";
}
或
<a href="./Order?orderId=201610061023" name="test">201610061023</a>
@RequestMapping(value = "/Order")
public String requestHandlingMethod(@RequestParam("orderId") long orderId, @ModelAttribute("test") String name, HttpServletRequest request) {
return "nextpage";
}
请参阅@RequestParam vs @PathVariable了解这两种方法之间的区别
答案 1 :(得分:0)
Spring不会仅仅因为浏览器不会发送链接的标题而处理链接的标题。要发送它,您可以:
<a href="./Order?id=201610061023" name="test">201610061023</a>
<a href="./Order/201610061023" name="test">201610061023</a>
href
或使用document.location
发送生成的网址。这可以自动化,但这种情况非常罕见。