Bean-To-XML 注释:如何处理嵌套结构

发布于 2024-08-21 06:09:42 字数 500 浏览 11 评论 0原文

对于 Web 服务中的 bean->xml 转换,我们使用 CXF 中的 Aegis(据我所知,它是 jaxb 兼容的)。

这是我的类型:

class C{
private int a;
private int b;
private T t;
...
}

class T{
private int t1;
private int t2;
}

我需要 t.t1 字段在 XML 中与 C< 中的 ab 处于同一级别/code> (从 xml 恢复的 bean 应该是这样的:(

class C{ 
private int a; 
private int b;
private int t1 
}

客户端代码只对结构 T 中的字段 t1 感兴趣)。 谢谢。

For bean->xml convertion in webservices we use Aegis from CXF (it is jaxb-compatible, as I understand).

This is my type:

class C{
private int a;
private int b;
private T t;
...
}

class T{
private int t1;
private int t2;
}

I need t.t1 field to be on the same level in XML as a and b in C (bean restored from xml should be like this:

class C{ 
private int a; 
private int b;
private int t1 
}

(client code is interested only in field t1 from structure T).
Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦在深巷 2024-08-28 06:09:42

您可以将 getT1()setT1(int) 添加到 C 并使 getT() @ XmlTransient

class C {
  // snip

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  @XmlElement
  private void setT1(int t1) {
    if(t != null) {
      t.setT1(t1);
    } else {
      // TODO
    }
  }

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  private int getT1() {
    if(t != null) {
      return t.getT1(t1);
    } else {
      // TODO
    }
  }
}

You could add getT1() and setT1(int) to C and make getT() @XmlTransient

class C {
  // snip

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  @XmlElement
  private void setT1(int t1) {
    if(t != null) {
      t.setT1(t1);
    } else {
      // TODO
    }
  }

  /**
   * JAXB only
   */
  @SuppressWarnings("unused")
  private int getT1() {
    if(t != null) {
      return t.getT1(t1);
    } else {
      // TODO
    }
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文