got*_*ch4 15 java spring spring-mvc
假设我有:
@RequestMapping(params = "action=nuovoprodotto")
public ModelAndView nuovoProdotto(
@RequestParam(value = "page", required = false, defaultValue = "-1") int page,
@RequestParam(value = "action") String action,
@ModelAttribute Prodotto prod, HttpSession session)
throws Exception {
Run Code Online (Sandbox Code Playgroud)
是否可以将此请求映射为两个或三个"action"参数值?
我试过很多方法
@RequestMapping(params = "action=nuovoprodotto, action=salvaprodotto")
Run Code Online (Sandbox Code Playgroud)
要么
@RequestMapping(params = "action=nuovoprodotto|salvaprodotto")
Run Code Online (Sandbox Code Playgroud)
但它们不起作用...如果我不能解决什么问题,那么除了为每个参数值组合编写处理程序外?
Sea*_*oyd 21
试试这个:
@RequestMapping(params = {"action=nuovoprodotto","action=salvaprodotto"})
Run Code Online (Sandbox Code Playgroud)
该params
属性实际上是类型String[]
,但注释允许您编写String
一个单元素String[]
,因此这两个是等效的:
@RequestMapping(params = {"action=nuovoprodotto"})
Run Code Online (Sandbox Code Playgroud)
和
@RequestMapping(params = "action=nuovoprodotto")
Run Code Online (Sandbox Code Playgroud)
参考:
更新:我的不好,正如你可以在高级@RequestMapping选项一节中看到的那样,多个参数组合使用和,而不是或者,因此它不能像上面指定的那样工作.
所以我要说你要做的是创建一个具有几乎相同签名的别名方法:
@RequestMapping(params = "action=nuovoprodotto")
public ModelAndView nuovoProdotto(
@RequestParam(value = "page", required = false, defaultValue = "-1") int page,
@RequestParam(value = "action") String action,
@ModelAttribute Prodotto prod, HttpSession session)
throws Exception {
// some stuff here
}
@RequestMapping(params = "action=salvaprodotto")
public ModelAndView salvaProdotto(
@RequestParam(value = "page", required = false, defaultValue = "-1") int page,
@RequestParam(value = "action") String action,
@ModelAttribute Prodotto prod, HttpSession session)
throws Exception {
return nuovoProdotto(page, action, prod, session);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32003 次 |
最近记录: |