2017-06-01 9 views
0

隠し値フィールドを持つフォームがある:Thymeleaf:フィールド

<input type = "hidden" th:field="*{key}" value="keyapp" /> 
<input type = "hidden" th:field="*{secret}" value="supersecret" /> 

問題は、これらのフィールドは、コントローラ内の空として渡されていることであるが、隠された番目の所定値を渡すことはできません。 HTML値で事前定義されたthymeleafフィールドを渡す方法はありますか?

おかげで、よろしく、 Deniss更新

th:object定義:

<form th:action="@{..//do-login}" method="POST" modelAttribute="authEntity" th:object="${authEntity}"> 

AuthEntity.class

public class AuthEntity { 

    private String key; 
    private String secret; 
    private String scope; 
    private String grantType; 
    private String username; 
    private String password; 
    ... // getters & setters omitted // ... 

* Controller.class

@RequestMapping(value = "/do-login", method = RequestMethod.POST, produces = "application/json") 
    public void doLogin (@ModelAttribute("authEntity") final AuthEntity authEntity, 
         final Model model, 
         HttpServletResponse servletResponse, HttpSession httpSession) throws IOException { 
     log.info("Application Key: {}, Secret: {}", authEntity.getKey(), authEntity.getSecret()); 
+0

フォームをどのように定義しましたか? 'あなたは何を定義しましたか?このオブジェクトは 'key'と' secret'プロパティを持っていますか?これらの値をModelMapに入れたら、 '$ {key}'と '$ {secret} 'で参照する必要があります。 –

+0

@ThomasPawlitzki上記の更新を参照してください。 'th:field'を使うだけで他のすべてのパラメータが正しく渡されることにも注意してください。 –

+0

' key'と 'secret'フィールドを設定していますか? MVC Handlerの値をどのように取得しようとしますか? –

答えて

1

私は隠された入力と同じ問題に遭遇し、解決策を見つけないが、代わりに第使用しました:フィールド、「ID」との「名前」プロパティを設定しますフィールドを手で省略し、フィールドを省略します。

+0

しかし、値はすべて渡されますか? –

+0

'value'プロパティを保持していれば、それは渡されます(少なくとも私にとってはうまくいきます:))。 IIRCは名前をつけた形のものはすべて提出時に渡されますが、ここで名前とIDが混在する可能性があります。 – N4zroth

+0

春とタイメレフで?あなたは本当ですか?)) –