2017-05-13 3 views
1

が存在する場合、私は非表示の入力フィールドを作成したい:Thymeleaf:目:値 - プロパティが

<input type="hidden" th:value="${map.version} name="version"/> 

問題:多分
version非既存属性はまだ(私がnullの話ではないのです!)。
は今、私は例外を取得していますProperty or field 'version' cannot be found on object

私が必要なもの:
それが存在しない場合は、番目:値声明多分無視されるか、またはタグが

明確化削除:
mapが来るのハンドラ方式のSpringコントローラ:

@PostMapping("/new") 
public String handleMapFormSubmit(
    @ModelAttribute("map") @Valid AddMapCommand command, BindingResult result) { 

    if (result.hasErrors()) { 
     return "map-form"; 
    } 

    // do some stuff 

    return "....."; 
} 

このハンドラメソッドmap(AddMapCommmand)にversion属性が含まれていないという問題があります。別のハンドラメソッド(UpdateMapCommand)ではそうです。全体のポイントはに再利用map-formの両方のシナリオでほぼ同様のテンプレートです。あなたが唯一のプロパティを含むオブジェクトに使用するinstanceofオペレータ試すことができます

+0

は、あなたが追加しようとしている地図のキーです。もしそうなら、http://stackoverflow.com/questions/28621301/how-to-use-map-getkey-in-thymeleaf-broadleaf-ecom – bphilipnyc

+0

そうです。存在しても存在しなくてもよい。私はリンクのおかげで見ていきます。 – Dachstein

+0

私は '$ {map ['version']}'を試しました。バージョンが設定されている場合は動作しますが、そうでない場合は例外がスローされます。 – Dachstein

答えて

1

:今後の参考のために

<input type="hidden" 
th:if="${map instanceof T(my.project.UpdateMapCommand)}" 
th:value="${map.version} name="version"> 

を、それが極めては、読者が解釈していmapのような変数を使用して混乱していませんそれはjava.util.Mapです。 map変数名を混同しないように、あるいは少なくともStackOverflowで質問するために変数名を変更する必要があります。

+0

を取得しました。ありがとう。私は地図の命名に同意します。私はちょうど急いでいた。とにかくうれしい! – Dachstein

+0

Thymeleafにはobject.hasAttribute( 'version')のようなものはありますか? – Dachstein

関連する問題