Eclipse неправильно форматирует bean-компонент Spring p-namespace
Я использую Spring-2.5 (не могу обновить, зависимость от продукта), и я замечаю странное поведение форматера Eclipse, когда я использую нотацию пространства имен p и некоторое выражение значения:
Если я использую стандартный способ (без p-namespace), как это:
<bean id="ldapConfig" class="org.mycompany.project.config.LDAPConfig">
<property name="ldapServer" value="${ldap.server}" />
<property name="ldapPort" value="${ldap.port}" />
<property name="ldapBindDn" value="${ldap.bindDn}" />
<property name="ldapPass" value="${ldap.password}" />
</bean>
и нажмите комбинацию клавиш: Ctrl-Shift-F
форматирование (например, отступ) работает очень хорошо.
Теперь, если я использую p-namespace
обозначение как это:
<bean id="ldapConfig" class="org.mycompany.project.config.LDAPConfig">
<p:ldapServer="${ldap.server}" />
<p:ldapPort="${ldap.port}" />
<p:ldapBindDn="${ldap.bindDn}" />
<p:ldapPass="${ldap.password}"/>
</bean>
Когда я нажимаю комбинацию клавиш: Ctrl-Shift-F
форматирование (например, отступ) удаляет некоторую часть кода
<bean id="ldapConfig" class="org.mycompany.project.config.LDAPConfig">
<p:ldapServer = ldap.server } />
<p:ldapPort = ldap.port } />
<p:ldapBindDn = ldap.bindDn } />
<p:ldapPass = ldap.password } />
</bean>
Есть ли несовместимость между значениями выражений (${variable}
) и пространство имен p, или это просто ошибка Eclipse в части форматирования XML?
1 ответ
Неверное определение bean-компонента ldapConfig при использовании p-namespace. Используя пространство имен p, вы можете использовать атрибуты как часть элемента bean, которые описывают значения вашего свойства, вместо использования вложенных элементов. Более подробную информацию можно найти здесь.
Предполагая, что вы объявили пространство имен как xmlns:p="http://www.springframework.org/schema/p"
Правильный способ его использования:
<bean id="ldapConfig" class="org.mycompany.project.config.LDAPConfig"
p:ldapServer="${ldap.server}"
p:ldapPort="${ldap.port}"
p:ldapBindDn="${ldap.bindDn}"
p:ldapPass="${ldap.password}">
</bean>
Теперь попробуйте CTRL-SHIFT-F