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();
}
}
在com.foo.bar
中创建一个package-info.java
文件.
将以下内容添加到 package-info.java
文件中
Add the following to the package-info.java
file
@XmlJavaTypeAdapter(value=StringTrimAdapter.class,type=String.class)
package com.foo.bar;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
StringTrimAdapter
应用到 com.foo.bar
中的 all String
字段,而无需任何额外的注释.
StringTrimAdapter
to all String
fields in com.foo.bar
without any extra annotations.编辑
请注意,如果包级别的注解对您来说过于广泛,您总是可以将 @XmlJavaTypeAdapter
注解应用于类.
这篇关于如何配置 JAXB 使其默认修剪空白的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何配置 JAXB 使其默认修剪空白


基础教程推荐
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01