2012-04-16 13 views
11

は、私は私のDAOのためにBean定義を以下している - 「<」文字を含めることはできません「プロパティ」要素型に関連付けられている属性「値」の値を -<文字を含む文字列プロパティをSpring beansに挿入する方法は?

<bean id="userDao" class="UserDao"> 
<property name="dataSource" ref="dataSource" /> 
<property name="queryPurgeInvalidReferrals" value="delete from reference where date < ?" /> 
</bean> 

私はエラーを取得しています。

+1

のように置き換えて、値<をXMLドキュメントのようにエスケープする必要があります。 – Phani

答えて

17

春の設定は、XMLファイルであるので、あなたはXML構文に従って<をエスケープする必要があります。

<property name="queryPurgeInvalidReferrals" value="delete from reference where date &#x3c; ?" /> 
1

使用Unicodeはこれを試してみてください:

<property name="queryPurgeInvalidReferrals"> 
    <value><![CDATA[delete from reference where date < ?]]></value> 
</property> 
12

よう

<property name="queryPurgeInvalidReferrals" 
    value="delete from reference where date &lt; ?" /> 
+0

私はそれが動作するとは思わない。値は属性なので、property内の要素として定義できますか?Spring XSDやDTDは見ていませんが。 – Phani

+0

Spring XSDは私にそれを許可しました。しかし、私は値の要素を読むことを試みていません。これはすべて、 ''要素に入るすべてのものです: '(description ?,(meta | bean | ref | idref | value | null | array | list | set | map | props | namespace:uri =" ## other " )?) '。 – adarshr

+0

'property'タグは、属性か子要素のどちらかの値を取ることができます。文字列値の場合は、違いはありません。 – pap

0

値の文字列に<&lt;

value="delete from reference where date < ?" 
関連する問題