将html表单和Spring MVC控制器与@PathVariable相结合

时间:2013-09-17 02:59:52

标签: forms spring spring-mvc

是否可以参数化或修改HTML表单中的操作URL以利用Spring的@PathVariable注释?

我想按照以下方式做点什么:

形式:

<form action="/coordinates/$zipCode" method="post">
    <input id="zipCode">
    <button name="submit">Submit</button>
</form>

控制器:

@RequestMapping("/coordinates/{zipCode}")
public String getCoordinates(Model m, @PathVariable("zipCode") String zipCode)
{
    //Process zipCode, just doing a dumb println here.
    System.out.println(zipCode);
    return "view";
}

我知道表单输入字段将作为url参数传递,但我希望将它们作为路径变量提交,以创建友好的(更容易记住)URL。

也许我正在过度思考这种形式并不是最好的方式。也许跳过表单并做一些JavaScript魔术?

无论如何,我很感激帮助。

1 个答案:

答案 0 :(得分:0)

我想将它们作为路径变量提交,以创建一个友好的书签(并且更容易记住)

如果您必须提交表单才能到达目的地,这不是书签友好的。

我认为你得到的是REST。您的资源可能由邮政编码识别,因此您首先通过向/coordinates URL发送POST请求来创建它。如果您想访问此资源,可以进行/coordinates/{zipCode}

的GET