5
名前空間を正しく作成できないことを除いて、すべて正常に動作しています。どんな助けでも大歓迎です!JAXBとSpring @ ResponseBodyをコントローラで使用して正しいサイトマップ名前空間を生成する方法は?
マイコントローラ:
@Controller
@RequestMapping("/sitemap")
public class SitemapController
{
public @ResponseBody XMLURLSet getSitemap(){
XMLURLSet urlSet = new XMLURLSet();
//populate urlList
urlSet.setUrl(urlList);
return urlSet;
}
}
マイurlset:
@XmlRootElement(name = "url")
public class XMLURL {
String loc;
@XmlElement(name = "loc")
public String getLoc(){
return loc;
}
public void setLoc(String loc){
this.loc = loc;
}
}
マイurl要素:
私は、生成されることが予想何@XmlRootElement(name = "urlset", namespace = "http://www.sitemaps.org/schemas/sitemap/0.9")
public class XMLURLSet{
List<XMLURL> url;
public List<XMLURL> getUrl(){
return url;
}
public void setUrl(List<XMLURL> url){
this.url = url;
}
}
:
012生成され得たもの<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
</url>
:
<ns2:urlset xmlns:ns2="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
</url>
</ns2:urlset>
</urlset>
ありがとう!
はどこでファイルパッケージ-情報の内容を見つけることができますか? – Pomario
'package-info'は実際にはクラスなので、あなたのドメインクラスと同じパッケージに' package-info.java'を持っています。 –
それが動作します。同じスレッド上で、<?xml version = "1.0" encoding = "UTF-8"?>を生成するために、XMLのエンコーディングをどのように追加しますか?私はMarshlerを操作する方法を見てきましたが、私のコードではこれを行うことができません。 – Pomario