Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc Spring3.0:如何重定向到同一页面_Spring Mvc - Fatal编程技术网

Spring mvc Spring3.0:如何重定向到同一页面

Spring mvc Spring3.0:如何重定向到同一页面,spring-mvc,Spring Mvc,在SpringMVC中,我有一个搜索表单。若用户提交搜索表单,结果应显示在同一页面中。 它正在重定向到同一个页面,但我并没有从控制器获取JSP中的属性 qSearch.jsp <form:form name="quickSearchForm" id="searchFormId" method="POST" action="./searchQuick.html" modelAttribute="searchForm" onsubmit="return validateForm()">

在SpringMVC中,我有一个搜索表单。若用户提交搜索表单,结果应显示在同一页面中。 它正在重定向到同一个页面,但我并没有从控制器获取JSP中的属性

qSearch.jsp

<form:form name="quickSearchForm" id="searchFormId" method="POST" action="./searchQuick.html" modelAttribute="searchForm" onsubmit="return validateForm()">
            <table>
                <tr>
                    <th>Change/Defect ID</th><td><form:input type="text" name="identifier" path="identifier"/></td>
                </tr>
            </table>
            <div class="icons">
                <span><button style="left:0px" type="reset" name="clear" style="border-radius: 25px;">CLEAR</button></span>
                <span><button style="right:0px" type="submit" name="submit" style="border-radius: 25px;" >SEARCH</button></span>
            </div>
        </form:form>

                    <hr>
            <div>
                <c:if test="${empty SEARCH_RESULTS_KEY}">
                <table style="border-collapse: collapse;" border="1" class="showResults">
                        <tr>
                            <td colspan="7">No Results found</td>
                        </tr>
                </table>        
                    </c:if>
            <c:if test="${! empty SEARCH_RESULTS_KEY}">
                <table style="border-collapse: collapse;" border="1" class="showResults">
                        <tr>
                            <td colspan="7">Result found</td>
                        </tr>
                </table> 
           </c:if>

更改/缺陷ID
清楚的
搜寻

未找到任何结果 结果发现
控制器

@RequestMapping(value="/qSearch", method = RequestMethod.GET)  
public String getQuickSearchmodel(Model model) {
    System.out.println("Welcome to search tool\n");
    ArchivalIssue archivalIssue=new ArchivalIssue();
    model.addAttribute("searchForm", archivalIssue);
    return "quickSearchPage";   
 }

@RequestMapping(value = "/searchQuick", method = RequestMethod.POST)  
public ModelAndView getAllArchivalIssues(HttpServletRequest request){

    String identifier = request.getParameter("identifier"); 
    List<ArchivalIssue> archivalIssue = archivalIssueService.getAllArchivalIssue(identifier);

        ModelAndView mav = new ModelAndView("redirect:/qSearch");                           //Add model to display results  
        mav.addObject("SEARCH_RESULTS_KEY", archivalIssue);                         //Add result object to model
        return mav; 

}
@RequestMapping(value=“/qSearch”,method=RequestMethod.GET)
公共字符串getQuickSearchmodel(模型模型){
System.out.println(“欢迎使用搜索工具”);
ArchivalIssue ArchivalIssue=新的ArchivalIssue();
model.addAttribute(“searchForm”,archivalIssue);
返回“quickSearchPage”;
}
@RequestMapping(value=“/searchQuick”,method=RequestMethod.POST)
公共模型和查看getAllArchivalIssues(HttpServletRequest){
字符串标识符=request.getParameter(“标识符”);
List archivalIssue=archivalIssueService.getAllArchivalIssue(标识符);
ModelAndView mav=newmodelandview(“重定向:/qSearch”);//添加模型以显示结果
addObject(“SEARCH_RESULTS_KEY”,archivalIssue);//将结果对象添加到模型中
返回mav;
}

请有人帮助我,如何在JSP中得到结果。我总是找不到结果。

当返回值包含redirect:prefix时,视图名称的其余部分将被视为重定向URL。浏览器将向该重定向URL发送一个新请求。因此,将执行映射到此URL的处理程序方法

只需返回与带有模型属性的响应相同的页面

您是否使用JSTL?是否需要进行任何更改

${empty param.SEARCH_RESULTS_KEY} 

我认为在这种情况下你不应该改变方向。因为重定向将创建到服务器的新GET请求。
quickSearchPage
getAllArchivalIssues
应返回相同的视图

@RequestMapping(value = "/searchQuick", method = RequestMethod.POST)  
public ModelAndView getAllArchivalIssues(HttpServletRequest request){

    String identifier = request.getParameter("identifier"); 
    List<ArchivalIssue> archivalIssue = archivalIssueService.getAllArchivalIssue(identifier);

    //return quickSearchPage, so that the client can render the list archivalIssue
    ModelAndView mav = new ModelAndView("quickSearchPage");                          

    mav.addObject("SEARCH_RESULTS_KEY", archivalIssue); //Add result object to model
    return mav; 
}
@RequestMapping(value=“/searchQuick”,method=RequestMethod.POST)
公共模型和查看getAllArchivalIssues(HttpServletRequest){
字符串标识符=request.getParameter(“标识符”);
List archivalIssue=archivalIssueService.getAllArchivalIssue(标识符);
//返回quickSearchPage,以便客户端可以呈现列表存档
ModelAndView mav=新的ModelAndView(“快速搜索页面”);
addObject(“SEARCH_RESULTS_KEY”,archivalIssue);//将结果对象添加到模型中
返回mav;
}

谢谢您的回复。我试过这个。我可以重定向到同一个页面,但在JSP中并没有得到属性“archivalIssue”的值。但无法从控制器获取任何属性。我不确定上次编辑的内容,因为您如何使用JSTL进行渲染?