无法从Spring映射中获取字符串响应

时间:2014-08-26 21:46:35

标签: java spring spring-mvc

我一直致力于基于Spring的网络项目。大多数端点都设置为返回XML,并且使用REST编组器可以正常工作。作为项目演示的一部分,我希望有一个仪表板,以更人性化的格式显示数据。

问题是,我无法让端点返回String。当我尝试访问端点时,收到以下错误消息:

JBWEB000065: HTTP Status 406 -

JBWEB000309: type JBWEB000067: Status report

JBWEB000068: message

JBWEB000069: description JBWEB000126: The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request 'Accept' headers. 

映射请求代码如下:

@RequestMapping(value="/dash", method=RequestMethod.GET, headers="Accept=*/*",produces="text/plain")
@ResponseBody
public String customerPortal()
{
  return "WEB-INF/jsp/Dash.jsp";
}

其他(XML)端点工作得很好,文件本身也存在。在这一点上,我决定以任何方式将HTML传输到浏览器,我不需要任何花哨的东西,只是一个不会违反AJAX单一来源限制的文件。我很抱歉,如果有一个简单的解决方案,我已经尝试了六种不同的解决方案,并且找不到任何方法让服务器发送除XML之外的任何内容。

编辑:删除@ResponseBody,方法,标题并生成注释后,它现在给出以下响应:

JBWEB000065: HTTP Status 500 - Could not resolve view with name '/WEB-INF/jsp/ScorpioDash.jsp' in servlet with name 'scorpio-restservice'

JBWEB000309: type JBWEB000066: Exception report

JBWEB000068: message Could not resolve view with name '/WEB-INF/jsp/ScorpioDash.jsp' in servlet with name 'scorpio-restservice'

JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.

JBWEB000070: exception

javax.servlet.ServletException: Could not resolve view with name '/WEB-INF/jsp/ScorpioDash.jsp' in servlet with name 'scorpio-restservice'
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1190)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

1 个答案:

答案 0 :(得分:0)

终于找到了答案。在scorpio-restservice-servlet.xml文件中(我没有发帖,抱歉)我没有定义InternalResourceViewResolver。添加以下内容:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/static/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

修复了问题,并让它精美地渲染.jsp文件。非常感谢所有的帮助。