0

我需要在我网站的所有页面上都有一个搜索框。我知道,要拥有一个表单,我需要像下面的方法一样启动它;但是,如果用户访问“/search”地址,这很有用,我如何启动一个位于所有页面中的表单,例如位于上的tripadvisor的搜索框所有页面?我应该一直调用该方法吗?

示例初始化方法

@RequestMapping(value = "/search", method = RequestMethod.GET)
public String initCreationForm(Model model) {
    if (!model.containsAttribute(BINDING_RESULT_NAME)) {
        model.addAttribute(ATTRIBUTE_NAME, new Search());
    }
    return "search";
}

当前形式

我目前的表格如下所示:

<form:form modelAttribute="search" role="form" method="GET">
.....
</form:form>
4

3 回答 3

0

如何启动所有页面中的表单,例如位于所有页面上的tripadvisor搜索框?

用于@ControllerAdvice添加模型绑定对象,例如:

@ControllerAdvice
class GlobalControllerHandler {

   @ModelAttribute(ATTRIBUTE_NAME)
   public Search bindSearchModel(){
       return new Search();    
   } 
}

在这种情况下@ModelAttribute,适用于所有 @RequestMapping 方法的方法。那么您当前的表格将正常工作。

于 2015-03-24T07:47:18.803 回答
0

我只是手动将 action 属性添加到表单中,它现在可以工作了。谢谢你的帮助。

于 2015-03-25T02:50:40.617 回答
0

假设您的表单包含在名为 的页面中search.jsp,您可能会将其包含在其他页面中,只需放置:

<%@ include file="search.jsp" %>
于 2015-03-24T07:37:16.467 回答