我只是想知道如何传递post参数,例如跟随exxcept从html选项,通常我会得到一个语言如PHP的数组(POST['param'][0]...我相信会工作)
url?param=value1¶m=value2¶m=value3
Run Code Online (Sandbox Code Playgroud)
我试过了:
@RequestMapping(value="/schedule", method = RequestMethod.POST)
public void action(String[] param)
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,这不起作用......
任何想法将不胜感激!
kal*_*ard 49
你可以用这个:
@RequestMapping(value="/schedule", method = RequestMethod.POST)
public void action(@RequestParam(value = "param[]") String[] paramValues){...}
Run Code Online (Sandbox Code Playgroud)
将检索的所有值(内部阵列paramValues参数的)param(注意属性value的RequestParam:它与结束[])
这应该工作:
@RequestMapping(value="/schedule", method = RequestMethod.POST)
public void action(@RequestParam("param") String[] param)
Run Code Online (Sandbox Code Playgroud)
如果您知道您的参数名称,请尝试
@RequestMapping(value="/schedule", method = RequestMethod.POST)
public void action(@RequestParam("myParam") String param)
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用当前请求对象:
@RequestMapping(value="/schedule", method = RequestMethod.POST)
public void action(HttpServletRequest request) {
Map parameterMap = request.getParameterMap();
...
}
Run Code Online (Sandbox Code Playgroud)
如果有人还在努力,那就应该这样做:
表格输入:
<input name="myParam" value="1"/>
<input name="myParam" value="4"/>
<input name="myParam" value="19"/>
Run Code Online (Sandbox Code Playgroud)
控制器方法:
@RequestMapping
public String deletePlaces(@RequestParam("myParam") Long[] myParams) {
//myParams will have 3 elements with values 1,4 and 19
}
Run Code Online (Sandbox Code Playgroud)
这个工作原理相同String[] Integer[] Long[],可能更多.POST,GET,DELETE将工作方式相同.
参数名称必须与name表单输入中的标记匹配.没有额外[]需要等等.事实上,如果方法参数名称与输入名称相同,则可以省略参数名称,因此我们最终可以得到方法签名,如下所示:
@RequestMapping
public String deletePlaces(@RequestParam Long[] myParams)
Run Code Online (Sandbox Code Playgroud)
它仍然有效
额外的东西:
现在如果你有域模型让我们说Place你有PlaceRepository,通过提供Place#id输入的值,Spring可以为我们查找相关的对象.因此,如果我们假设上面的表单输入包含用户ID作为值,那么我们可以简单地将其写入控制器:
public String deletePlaces(@RequestParam Place[] places) {
//places will be populated with related entries from database!
}
Run Code Online (Sandbox Code Playgroud)
甜蜜不是吗?
| 归档时间: |
|
| 查看次数: |
77831 次 |
| 最近记录: |