繁体   English   中英

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

[英]Unable to get string response from Spring mapping

我一直在从事基于Spring的Web项目。 大多数端点都设置为返回XML,并且使用REST编组器可以正常工作。 作为项目演示的一部分,我希望有一个仪表板,以更易于理解的格式显示数据。

问题是,我无法使端点返回字符串。 当我尝试访问端点时,出现以下错误消息:

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)

终于找到答案了。 在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文件。 非常感谢您的所有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM