我正在Spring编写一个CRUD应用程序,我需要从“项目列表”页面导航到“详细信息”页面。 目前我正在使用锚点并将项目的ID附加到URL,例如
http://hostname/edit/ {的itemId}
但是id可能很长,而且可能还有其他参数,所以URL必然会很长。
显而易见的解决方案(至少对我而言)是使用POST而不是GET,但我想知道是否可以在不使用表单的情况下发布数据,或者如果Spring中有另一种机制将数据传递给控制器? / p>
答案 0 :(得分:1)
您可以从js发送Ajax请求并在POST正文中发送您的数据。 从HTML中,您只能从表单发送POST请求。
答案 1 :(得分:0)
如果您的问题是,您可以使用参数发布请求,答案是肯定的。您可以像控制任何其他类型的请求一样在控制器中创建发布请求处理程序,您可以使用@PathVariable
和@PathParam
作为参数,或者您可以使用java对象(使用jackson dependancy)并将对象附加到请求或将对象作为@RequestBody
或@ResponseBody
的回复。这是一个例子:
@RequestMapping(path="/test/{param}", method={RequestMethod.POST})
public int test(@PathVariable(name = "param") int param) throws SQLException{
return param;
}