2011-11-14 6 views
0

対アウト奇妙な問題は、我々はAppContextをからgspTagLibraryLookup豆を経由してサービスからアクセスできるカスタムタグライブラリを使用している....だけ私のマシン上でのGrails 1.2.4にGrailsは:リターン

をoccourse。

私のローカルマシン上

<my:span value="abc" title="${my.write(text:'123')}"/> 

書き込み:

123<span title="">abc</span> <!-- what i see --> 
    <span title="123">abc</span> <!-- what my collegue see --> 

は私:を書いて反抗されています

def write = {out << attrs.text} 

しかし:私の代わりにアウトのリターンを使用している場合は、 htmlは私の同僚が見るものを生成します。

誰もが知っている違いは?

答えて

0

title属性の引数の値は、<my:span>に渡される前に評価されます。あなたは{out << attrs.text}としてwriteを定義し、<my:span>でそれを使用するのであれば、write機能はspan機能が行う前にoutに書き込み、そして何も返さないだろう - そう123<span>前に出力に書き込まれ、title属性は空になります。

あなたは{return attrs.text}としてwriteを定義した場合、その評価はアウトに何かを書き込み、title属性の値として挿入される123を返しません。

なぜあなたの同僚のマシンで最初の定義が動作するのか不明です。

+0

私は思ったものだが、生きている、テストする、そして3人の同僚が問題なく..... *を使用する.....(構成の問題があるかもしれない...) –

+0

SOEとNPEの有線問題。正しい答えを想像してください。 –