【发布时间】:2010-07-26 09:25:56
【问题描述】:
使用 Spring 3,我创建了一个 MarshallingView,具有以下编组器:
<bean name="xmlMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshalle r">
<property name="classesToBeBound">
<list>
<value>com.mydomain.xml.schema.Products</value>
</list>
</property>
<property name="marshallerProperties">
<map>
<entry key="com.sun.xml.bind.namespacePrefixMapper">
<bean class="com.mydomain.xml.MyNamespacePrefixMapper"/>
</entry>
</map>
</property>
</bean>
MyNamespacePrefixMapper 应该将 Products 对象(XJC 生成)的模式映射到默认命名空间,但它不会,因为 Jaxb2Marshaller 正在创建一个包含两个不同命名空间 URI 的 JAXBContext。一个是我的架构,另一个是空白字符串。空白字符串会覆盖我分配默认命名空间的任何尝试。
有谁知道为什么会有这个空白字符串,或者我怎样才能摆脱它?
【问题讨论】: