为什么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页面作为字符串响应了,如下图:

图片说明

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

找到原因了,原来是在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

返回类型应该是ModelAndView

http://blog.csdn.net/runner__1/article/details/52233736

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