为什么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个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问