@ResponseBody无法在Java 6中生成XML

如何解决@ResponseBody无法在Java 6中生成XML?

开发过程中遇到@ResponseBody无法在Java 6中生成XML的问题如何解决?下面主要结合日常开发的经验,给出你关于@ResponseBody无法在Java 6中生成XML的解决方法建议,希望对你解决@ResponseBody无法在Java 6中生成XML有所启发或帮助;

问题描述

尝试创建以下包装器类:

@XmlRootElement
class CountrIEs {
    private List<Country> countrIEs = new ArrayList<Country>()

    //getters/setters
}

并从控制器而不是原始列表返回它:

public @ResponseBody CountrIEs getCountrIEs()

您的问题很可能是由无法整理Java列表的JAXB引起的(它不知道如何命名XML文档的根标记)。请注意,在JsON中请求数据时,如果您的CLAsspATH中有Jackson可用,则可能不会发生您的问题

解决方法

我有一个Spring MVC 3 / J2EE项目。jsp呈现控制器可以正常工作,但是为Ajax呈现XML的一个控制器无法正常工作。我在RAD
7.5中使用JDK 1.6,因此JAXB应该在类路径中,甚至我尝试将最新的JAXB jar添加到lib文件中以确保。 拨打电话时仍然出现406错误。
我的DOJO调用具有handleAs: "xml",我已经通过FireBug
确认了application/xml它在Accept标题上。我的<mvc:annotation-driven />spring servlet
xml文件中有一行。我可以看到该方法正在被调用并返回而没有错误。我不确定下一步应该尝试什么进行调试。

//Country is a class with only primative types which implements Serializable.
public @ResponseBody List<Country> getCountries(){
    return addressService.getCountries();
}

function loadData(){
    console.log("Before get ...");
    dojo.xhrGet({
        url:"http://localhost:9080/sample/shared/getCountries.htm",handleAs:"xml",load: function(data){
            console.log("In load function ...");
            try {
                for(var i in data){
                   console.log("key",i,"value",data[i]);
                }
            }catch (ex){
                console.error("Failure in load function: " + ex);
            }
            console.log("Exiting load function ...");
        },error: function(x){
            console.error("Error in ajax ...");
            console.error(x);
        },failOk: false
    });
    console.log("After get ...");
}

编程问答相关问答

我的环境详情: <ul> <li>操作系统:Ubuntu 20.04</li> <li>节点版本:9.6.1</li> <li>Qt 版本:5.9.1</li> </ul> 我
此问题使用 <a href="https://people.ucsc.edu/%7Emclapham/eart125/data/georoc.csv" rel="nofollow noreferrer">https://people.ucsc.edu/~
对不起,我正在绞尽脑汁想办法解决这个问题。 我的 kafka 代理说等待连接到 Zookeper 然后关闭(超时)
我有一个 pypsark 数据框保存为 <code>temp_view</code>,我需要将它保存到 <code>Table2</code> 中的 <code>DB2</code>
我想在 <a href="https://www.brightsign.biz/digital-signage-products/XT-product-line/XT1144" rel="nofollow noreferrer">BrightSign XT114
我对 sql 很陌生,一直在尝试使用以下脚本对其进行参数化。 <strong>这是我的代码:</strong> <pre><
<ol> <li>现在我正在考虑为 android 开发一个应用程序并想要获取位置信息。</li> <li>所以我决定使用 xamarin 的
我正在使用 TestNg 运行并行测试,我想在脚本中的某些点停止/终止线程。这个脚本有很多层,所以简单
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注