2017-09-01 7 views
1

誰かがタイムリーフの問題を手伝ってくれることを願っています。タイメレフ連結前処理:

私はthymeleafで前処理を行う必要がありますが、最初の処理は正しく実行されますが、その最初の前処理では、モデルから別のフィールドを取得する必要があります。ただし、preprocessinfを別の前処理私のタイプのエラー

式として解析できませんでした: "$ {ルール[" 私はこれを行う場合は

は、それが挿入する細かい

rules[__${row.index}__].propertiesValues[] 

失敗に動作しますその他の前処理

rules[__${row.index}__].propertiesValues[__${rules[__${row.index}__].bookingRuleDescriptor.propertyDescriptors[__${iter.index}__].name}__] 

私があなたを助けてくれることを願っています。

ありがとうございました!

答えて

0

前処理パスは1つだけです。一致しないためにこのエラーが発生します__。例えば、初めてそれは、前処理しようとします:それは、評価しようとする

propertiesValues[__${rules[__${row.index}__] 

式が表現thymeleaf有効ではありませんこれは、__${rules[__です。

1)この式は、目に使用されていない場合:あなたがしている

オプション、あなたはとにかく前処理場をやってはいけません。あなたは、単に使用することができます。

${rules[row.index].propertiesValues[rules[row.index].bookingRuleDescriptor.propertyDescriptors[iter.index].name]} 

2)あなたは番目でこれを使用している場合は、次の手を前に、あなたの表現のいくつかを評価すると:フィールド、あなたは番目の使用する必要があります。次のようなもの:

<th:block th:with="i=${row.index}, j=${rules[row.index].bookingRuleDescriptor.propertyDescriptors[iter.index].name}"> 
    <input type="text" th:field="*{rules[__${i}__].propertiesValues['__${j}__']}" /> 
</th:block> 
+0

ありがとうございます! @Metroids、私が実装した2番目のソリューションとすべてが完璧です! :) thymeleafで変数を作成して割り当てる方法は不明です。貴重な助けをいただきありがとうございます。 – H3ct0r