3

thymeleafテンプレートエンジンでSpring MVCフレームワークを使用している問題は、複数のチェックボックスが繰り返された1つのページがあり、thymeleaf th:each iterator.複数のチェックボックスをクリックしたときに、チェックボックスの値をコントローラーメソッドに渡したい..

html コンテンツ

<table> 
<tr th:each="q : ${questions}">
 <h3 th:text="${q.questionPattern.questionPattern}"></h3> 
<div>
 <p >
 <input type="checkbox" class="ads_Checkbox" th:text="${q.questionName}" th:value="${q.id}" name="id"/>
 </p>
 </div>
 </tr>
 </table> 

*コントローラー*

 @RequestMapping(value = Array("/saveAssessment"), params = Array({ "save" }))
  def save(@RequestParam set: String, id:Long): String = {
  var userAccount: UserAccount = secService.getLoggedUserAccount
    println(userAccount)
    var questionSetQuestion:QuestionSetQuestion=new QuestionSetQuestion
        var questionSet: QuestionSet = new QuestionSet
    questionSet.setUser(userAccount)
    questionSet.setSetName(set)
    questionSet.setCreatedDate(new java.sql.Date(new java.util.Date().getTime))
   questionSetService.addQuestionSet(questionSet)
     var list2: List[Question] = questionService.findAllQuestion
    var limit=list2.size
     var qustn:Question=null
    var a = 1;
     for( a <- 1 to limit ){
         println(  a  );
      qustn=  questionService.findQuestionById(a)
     questionSetQuestion.setQuestion(qustn)
    questionSetQuestion.setQuestionSet(questionSet)
    questionSetQuestion.setCreatedDate(new java.sql.Date(new java.util.Date().getTime))

    questionSetQuestionService.addQuestionSetQuestion(questionSetQuestion) } "redirect:/teacher/Assessment.html" }
4

2 に答える 2

4

私はJSPでJSTLを使用しましたが、thymeleafは新しいものでした。THYMELEAFのドキュメントを読みました。

多値チェックボックスを説明するセクションがあります。

<input type="checkbox" 
     class="ads_Checkbox" 
     th:text="${q.questionName}" 
     th:value="${q.id}" name="id"/>

上記のコードでは、コマンド オブジェクトのフィールドに値をバインドしていません。代わりにこれをやってみてください

<input type="checkbox" 
     class="ads_Checkbox" 
     th:text="${q.questionName}" 
     th:field="*{selectedQuestions}" 
     th:value="${q.id}" />

ここでselectedQuestionsは、スプリング コマンド オブジェクトに存在する配列オブジェクトです。

于 2013-06-03T20:19:13.327 に答える