在Spring MVC中进行简单搜索

Rod*_*iro 4 model-view-controller spring crud spring-mvc

我是Spring MVC的新手,我正在尝试进行简单的搜索.这是我的控制器和视图.如何使搜索实际工作?findTeamByName已经从一个接口实现,并且团队已经填充在内存中.提前谢谢你们!

@Controller
public class SearchController {

  @Autowired    
  SuperPlayerService sp;

  @RequestMapping(value="/search")
    public ModelAndView Search(@RequestParam(value = "searchTerm", required = false) 
    String pSearchTerm, HttpServletRequest request, HttpServletResponse response) {
        ModelAndView mav = new ModelAndView("search");

       mav.addObject("searchTerm", pSearchTerm);
       mav.addObject("searchResult", sp.findTeamByName(pSearchTerm));      

     return mav;
   }
}
Run Code Online (Sandbox Code Playgroud)

JSP:

<%@ page contentType="text/html" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="t" tagdir="/WEB-INF/tags" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>


<t:MasterTag>
<jsp:attribute name="pageTitle"><c:out value="Search"/></jsp:attribute>
<jsp:attribute name="currentMenuName"><c:out value="Search"/></jsp:attribute>
<jsp:body>





<div class="row">
     <div class="small-3 columns">
        <input type="text" id="txt" name="searchString">
      </div>

       <div class="small-5 columns end">
         <button id="button-id" type="submit">Search Teams</button>
       </div>

   </div>

 <div class="row">
      <div>
         ${searchTerm}
     </div>
</div>
Run Code Online (Sandbox Code Playgroud)

chr*_*sse 7

你可以返回你的价值,即在 ModelAndView

@RequestMapping(value="/search/{searchTerm}")
public ModelAndView Search(@PathVariable("searchTerm") String pSearchTerm) {
    ModelAndView mav = new ModelAndView("search");

    mav.addObject("searchTerm", pSearchTerm);
    mav.addObject("searchResult", sp.findTeamByName(pSearchTerm));      

    return mav;
}
Run Code Online (Sandbox Code Playgroud)

可以在search.jsp中访问此字段 ${searchTerm}

编辑:

如果你想这样搜索:search?searchTerm=java那么你可以用:

@RequestMapping(value="/search")
public ModelAndView Search(@RequestParam(value = "searchTerm", required = false) String pSearchTerm, HttpServletRequest request, HttpServletResponse response) {
    ModelAndView mav = new ModelAndView("search");

    mav.addObject("searchTerm", pSearchTerm);
    mav.addObject("searchResult", sp.findTeamByName(pSearchTerm));      

    return mav;
}
Run Code Online (Sandbox Code Playgroud)