Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAX-RS的双向字段值转换_Java_Jax Rs_Cxf - Fatal编程技术网

Java JAX-RS的双向字段值转换

Java JAX-RS的双向字段值转换,java,jax-rs,cxf,Java,Jax Rs,Cxf,Foo类: @Entity @Table(name = "FOO") @XmlRootElement(name = "doo") @XmlAccessorType(XmlAccessType.FIELD) public class Fooimplements Serializable { @Column(name = "SOME_FIELD") private String someField; 如果someField是abc,则封送的XML如下所示 <foo>

Foo类:

@Entity
@Table(name = "FOO")
@XmlRootElement(name = "doo")
@XmlAccessorType(XmlAccessType.FIELD)
public class Fooimplements Serializable {

    @Column(name = "SOME_FIELD")
    private String someField;
如果someField是abc,则封送的XML如下所示

<foo>
  <someField>abc</someField>

是否有任何方法可以注释前后转换,以便仅出于XML封送目的,通过连接xyz将Java值abc转换为xyz.abc。在字符串开头,当XML被解组时,值xyz.abc通过删除前4个字符转换为abc?如果有必要,我将使用CXF。

可以通过以下方式实现:

公共类CustomAdapter扩展了XmlAdapter{ @凌驾 公共字符串marshalString v引发异常{ 返回xyz.+v; } @凌驾 公共字符串解组字符串v引发异常{ 返回v.replaceFirst^xyz; } } 并按如下方式使用:

@XmlAccessorTypeXmlAccessType.FIELD 公共类Foo实现了可序列化{ @XmlJavaTypeAdapterCustomAdapter.class 私有字符串字段; ... }
或者,您可以使用getter和setter来实现此目的。

为什么不为此目的对getter和setter进行注释呢?随后,我选择了这个选项