首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单中包含多个按钮(保存、删除、搜索、更新),如何在表单中显示搜索到的项

表单中包含多个按钮(保存、删除、搜索、更新),如何在表单中显示搜索到的项
EN

Stack Overflow用户
提问于 2015-09-25 11:44:07
回答 1查看 2K关注 0票数 1

在jsp和控制器中,我有一个带有4个buttoms (保存、删除、搜索、更新)的POST表单。

控制器中的保存、更新和删除方法运行良好:

代码语言:javascript
复制
@RequestMapping(value="/myPage.htm",params = "delete", method = RequestMethod.POST)
public void delete(HttpServletRequest request) {
//Construct item to save
this.itemService.deleteItem(item);
}

但问题是搜索方法。我尝试了几种选择:

代码语言:javascript
复制
@RequestMapping(value="/myPage.htm",params = "search", method = RequestMethod.POST)
public ModelAndView search(@RequestParam(value="e1", required=false) String calle,
@RequestParam(value="e2", required=false) String e1, 
@RequestParam(value="e3", required=false) String e2,
@RequestParam(value="e3", required=false) String e3, 
HttpServletRequest request, HttpServletResponse response
){
//convert e2 to Integer
//construct the ModelAndView with the list the items
...}

返回页面在所有情况下都是相同的,但是在搜索案例中,表单(唯一的表单)元素是使用来自项列表的信息完成的。

关键是我得到了错误:request方法' get‘不支持。

有什么帮助吗?

非常感谢您提前!

如果我对Gest做了那个更改,就会得到错误: http-nio-8080-exec-3警告org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver - Handler执行导致异常:对于实际请求参数,参数条件“搜索”没有满足:(我在错误日志中没有得到更多信息)

我在控制器中的方法是:

代码语言:javascript
复制
@RequestMapping(value="/myPage.htm",params = "search", method = RequestMethod.GET)
public ModelAndView search(@RequestParam(value="e1", required=false) String e1, @RequestParam(value="e2", required=false) String e2, @RequestParam(value="e3", required=false) String e3, @RequestParam(value="e4", required=false) String e4, HttpServletRequest request, HttpServletResponse response){

//convert e2 to Integer
myModel = new HashMap<String, Object>();
List<Item> items= this.itemService.getItems(e1,e2b,e3,e4);
myModel.put("items", items);

} catch(Exception e){
  e.printStackTrace();
}
return new ModelAndView("item", "model", myModel);
}
}

在jsp中我有:

代码语言:javascript
复制
<form:form method="post" action="MyPage.htm">
E1: <input name="e1" size="30"></input>
E2: <input name="e2" size="30"></input>
E3: <input name="e3" size="30"></input>
E4: <input name="e4" size="30"></input>
<button type="submit" name="save" style="width: 100px;"><span>Save</span></button>
<button type="submit" name="delete" style="width: 100px;"><span>Delete</span></button>
<button type="submit" name="update" style="width: 100px;"><span>Update</span></button>
<button type="submit" name="search" style="width: 100px;"><span>Search</span></button>

现在(只是为了尝试代码):

代码语言:javascript
复制
<c:forEach items="${model.items}" var="item">
    <c:out value="${item.getData()}" />
</c:forEach>  
EN

回答 1

Stack Overflow用户

发布于 2015-09-25 14:07:19

更改:

代码语言:javascript
复制
@RequestMapping(value="/myPage.htm",params = "search", method = RequestMethod.GET)

代码语言:javascript
复制
@RequestMapping(value="/myPage.htm",params = "search", method = RequestMethod.POST)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32781455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档