2016-09-15 5 views
0

現在、Springを使用してWebアプリケーションを構築しています。私のフロントエンドアプリケーションは、そのデータをXML形式で要求します。これは、Internet ExplorerとMS Edgeを除くすべてのブラウザで正常に動作しています。両方ともフロントエンドで使用されているjavascriptコンポーネントの問題と思われるText/HTMLとしてレスポンスにラベルを付けます。Spring 4.XがXMLへの応答のコンテンツタイプを設定しました

レスポンスにapplication/xmlというラベルを付けるにはどうすればよいですか?

@RequestMapping(value = "/dashboardData", method = RequestMethod.GET, produces="application/xml") 
    @ResponseBody 
    public ModelAndView getBereichsleiterData() { 
     HashMap<String, Object> model = new HashMap(); 
     List<Map<String, Object>> data = dataProvider.getEintraege(); 


     model.put("total_count",dataProvider.getEintraegeCount()); 
     model.put("pos_start",0); 
     model.put("table", data); 

     return new ModelAndView("data/gridData", model); 
    } 

とデータ/ gridData下のファイルは、XMLをレンダリングするために使用されているが.jspである:ここでは、応答を生成するJavaコードがある

<%@ page language="java" contentType="text/html; charset=UTF-8" 

pageEncoding="UTF-8" %> 
<%@ page isELIgnored="false" %> 
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<?xml version="1.0" encoding="UTF-8"?> 
<rows total_count='${total_count}' pos='${pos_start}'> 
<c:set var="id" value="${pos_start}" scope="page" /> 
    <c:forEach var="entry" items="${table}" varStatus="loop"> 
    <c:set var="id" value="${id + 1}" scope="page"/> 
     <row id='${id}'> 
      <cell>${entry.GEN_REKL_KEY}</cell> 
      <cell>${entry.ART}</cell> 
      <cell>${entry.WGR}</cell> 
      <cell>${entry.EAN}</cell> 
      <cell>${entry.HERSTELLER_NAME}</cell> 
      <cell>${entry.BETRIEB}</cell> 
      <cell>${entry.STATUS_ID}</cell> 
      <cell>${entry.PROZESS_START}</cell> 
      <cell>${entry.LETZTE_BEARBEITUNG}</cell> 
      <cell>${entry.AKT_BENUTZER_NAME}</cell> 
     </row> 
    </c:forEach> 
</rows> 
+0

実際にJSPの最初の行をチェックしましたか? –

+0

どうすればそれを上書きすることができますか?それを私に指摘してくれてありがとう、ありがとう。あなたのヒントを解決策としてマークできるように、質問に答えてください。 –

答えて

1

あなたは、コンテンツタイプを設定していますあなた自身。 JSPの最初の行を確認します。

はっきり contentType="text/html; charset=UTF-8"を述べ
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 

...だから私は実際にこのような場合にはIEおよびEDGEが正しいと他の人が間違っていると主張...

変更コンテンツタイプあなたが望むものにしてもそれで終わった。

関連する問題