【问题标题】:Search result page loads blank搜索结果页面加载为空白
【发布时间】:2014-07-22 06:30:25
【问题描述】:

这是一个使用spring和hibernate的简单搜索操作。当我输入搜索值并点击提交时,结果页面什么也没有加载。它不会抛出任何错误。它的空白。请有人指出我错在哪里。

ProductDAOImpl.java

public List<Product> searchProductByName(String productName) {  
            Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Product.class);  
            criteria.add(Restrictions.ilike("productName", productName+"%"));  
            return criteria.list();  
        } 

ProductServiceImpl.java

@Transactional  
    public List<Product> searchProductByName(String productName) {  
        return productDAO.searchProductByName(productName);  
    }  

ProductController.java

@RequestMapping(value="searchproduct.html", method=RequestMethod.POST)  
    public ModelAndView searchProduct(@RequestParam String productName) {  
        ModelAndView mav = new ModelAndView("searchproduct");  
        List<Product> productResults = productService.searchProductByName(productName);  
        mav.addObject("productResults", productResults);  
        return mav;  
    } 

搜索表单

<form action="searchproduct"    method="post" >  
Product Name: <input type="text" name="productName"/>  
<input type="submit" value="Search" />  
</form> 

searchproduct.jsp

<body>  
<c:if test="${!empty productResults}">  
    <table class="productTable"  border="1" cellpadding="0" cellspacing="0" align="center">  
    <tr>  
        <th>Product Name</th>  
        <th>Price</th>  
        <th>Quantity</th>  
            </tr>  
    <c:forEach items="${productResults}" var="product">  
        <tr>  
            <td>${product.productName}</td>  
            <td>${product.price}</td>  
            <td>${product.quantity}</td>  
                    </tr>  
           </c:forEach>  
    </table>  
</c:if>  
</body>  

【问题讨论】:

    标签: hibernate spring-mvc


    【解决方案1】:

    您的表单操作是 searchproduct,您的控制器操作是 searchproduct.html。如果我是正确的,那么两个动作应该是相同的。

    并且在您的结果 JSP 中添加 &lt;c:choose&gt; 标签而不是 &lt;c:if&gt; 以检查结果是否为空然后显示未找到结果文本。

    【讨论】:

    • 是的,我的愚蠢错误。我也将控制器操作更改为“searchproduct”并且它现在可以工作了。
    猜你喜欢
    • 2019-05-21
    • 2016-05-29
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    相关资源
    最近更新 更多