Redirrect从JSP到@RequestParam

时间:2016-04-17 16:41:38

标签: java jsp spring-mvc

所以我在JSP文件中有这个代码:

<form action="/demo/quests/view?questId=${m.id}" >
    <button type="submit" class="btn btn-primary" >See quest</button>
</form

我的方法有这个定义:

RequestMapping(value = "/view", method = RequestMethod.GET)
public String displayQuest(@RequestParam(value = "questId") String questId, Model model){}

问题是我的表单正在重新定位到quests/view? 如何将其重新指向quests/view?questId=asdasdasd

**使用@requestParam是必须的,因为使用@PathVariable我会得到一个奇怪的错误

2 个答案:

答案 0 :(得分:0)

您的方法定义没问题,但您应该将表单提交用作:

<form action="${pageContext.request.contextPath}/demo/quests/view">
    <input type="text" class="form-control" id="questId" 
    name="questId" required>
    <button type="submit" class="btn btn-primary" >See quest</button>
</form

@RequestParam处理名称为questId的参数,该参数在您的@RequestParam(value = "questId")方法签名中进行了描述。你可以从我的github repo中查看一个确切的例子。

表单示例: modalAuthor.jsp#form

处理程序方法示例 AuthorController#authorPost

答案 1 :(得分:0)

  

替换

 <form action="/demo/quests/view?questId=${m.id}" >
  

<form action="view?questId=${m.id}" >