qq_28040863
杨凌波
采纳率100%
2017-07-31 15:03 阅读 941
已采纳

为什么SpringMVC会将整个jsp页面作为字符串响应

SpringMVC的相关配置:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
    <property name="contentType" value="text/html;charset=UTF-8"/>
</bean>

Controller:

@Controller
@RequestMapping("/search/")
public class SolrController {
    @Autowired
    private ItemSolrService service;

    @RequestMapping("list.html")
    public String itemList(ItemSolr item,Model model){
        Map<String,String> params = new HashMap<String,String>();
        if(item != null){
            params.put("q", "title:" + item.getTitle());
        }
        List<ItemSolr> itemList = service.queryByMap(params, ItemSolr.class);
        model.addAttribute("itemList", itemList);
        return "item_cat_list";
    }
}

我想要的是跳转到页面将数据显示在html页面上,但实际上把整个jsp页面作为字符串响应了,如下图:

图片说明

有没有人知道原因?求帮助

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    qq_28040863 杨凌波 2017-08-03 02:07

    找到原因了,原来是在web.xml上配置SpringMVC的DispatcherServlet出了问题

         <servlet>
            <servlet-name>springmvc-web</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:spring/servlet-context.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc-web</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    

    将/* 改为/就好了

    参考http://blog.csdn.net/kaiwii/article/details/7899941

    点赞 评论 复制链接分享
  • lihongbiao0610 lihongbiao0610 2017-08-01 01:04

    返回类型应该是ModelAndView

    点赞 1 评论 复制链接分享
  • Runner__1 T_world 2017-08-01 04:11
  • justinhxw justinhxw 2017-08-01 07:02

    跳转的代码有吗前端,感觉是你url写错了

    点赞 评论 复制链接分享

相关推荐