2014-04-23 39 views
0

我使用彈簧2.5(無法升級,產品的依賴)和我注意到了Eclipse格式化的奇怪行爲,當我使用p名稱空間符號和一些值表達式:Eclipse的錯誤格式化春天p名稱空間豆

如果我使用的標準方式(沒有對命名空間)是這樣的:

<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-名稱空間之間是否存在不兼容性,或者它只是XML格式化部件中的Eclipse錯誤?

回答

1

使用p-namespace時ldapConfig的Bean定義不正確。通過使用p名稱空間,您可以使用的屬性描述您的屬性值的bean元素的一部分,而不是使用嵌套元素。更多細節可以在here找到。

假設您已聲明命名空間的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

+0

謝謝,這麼久我沒有使用xml配置......我完全忘記了p-namespace是屬性而不是元素。 –

相關問題