如何配置JAXB,以便默认情况下修剪空格 [英] How to configure JAXB so it trims whitespaces by default
本文介绍了如何配置JAXB,以便默认情况下修剪空格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想配置JAXB以便它修剪所有字符串字段上的空格
I would like to configure JAXB so that it trims whitespaces on all string fields
我看到以下答案:如何配置JAXB以便在解组标记值时修剪空格?
但我不想根据建议的答案注释所有字符串字段
But I do not want to have to annotate all string fields as per the suggested answer
@XmlElement(required=true)
@XmlJavaTypeAdapter(MyNormalizedStringAdapter.class)
String name;
谢谢!
推荐答案
-
创建 XmlAdapter 。
package com.foo.bar;
public class StringTrimAdapter extends XmlAdapter<String, String> {
@Override
public String unmarshal(String v) throws Exception {
if (v == null)
return null;
return v.trim();
}
@Override
public String marshal(String v) throws Exception {
if (v == null)
return null;
return v.trim();
}
}
创建 package-info.java
文件在 com.foo.bar
。
将以下内容添加到 package-info.java
文件
@XmlJavaTypeAdapter(value=StringTrimAdapter.class,type=String.class)
package com.foo.bar;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
StringTrimAdapter
应用于所有 字符串
com.foo.bar
中的字段,没有任何额外的注释。
StringTrimAdapter
to all String
fields in com.foo.bar
without any extra annotations. 编辑
请注意,如果包级别注释过于庞大,您可以随时申请一个 @XmlJavaTypeAdapter
类的注释。
这篇关于如何配置JAXB,以便默认情况下修剪空格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文