Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从html页面到spring mvc控制器获取复选框值_Spring_Thymeleaf - Fatal编程技术网

如何从html页面到spring mvc控制器获取复选框值

如何从html页面到spring mvc控制器获取复选框值,spring,thymeleaf,Spring,Thymeleaf,im使用SpringMVC框架和thymeleaf模板引擎 问题是,我有一个页面,其中迭代了多个复选框。当我单击多个复选框时,我想将复选框值传递给控制器方法 html内容 <table> <tr th:each="q : ${questions}"> <h3 th:text="${q.questionPattern.questionPattern}"></h3> <div> <p > <input type=

im使用SpringMVC框架和thymeleaf模板引擎 问题是,我有一个页面,其中迭代了多个复选框。当我单击多个复选框时,我想将复选框值传递给控制器方法

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" }
@RequestMapping(value=Array(“/saveAssessment”),params=Array({“save”}))
def save(@RequestParam set:String,id:Long):String={
var userAccount:userAccount=secService.getLoggedUserAccount
println(用户帐户)
var questionSetQuestion:questionSetQuestion=新的questionSetQuestion
变量questionSet:questionSet=新问题集
questionSet.setUser(userAccount)
questionSet.setSetName(集合)
setCreatedDate(new java.sql.Date(new java.util.Date().getTime))
questionSetService.addQuestionSet(问题集)
变量list2:List[Question]=questionService.findAllQuestion
var limit=list2.size
var qustn:Question=null
var a=1;

对于(a我将JSTL与JSP一起使用,thymeleaf是一种新的东西。我阅读了文档

有一节解释了多值复选框

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

在上面的代码中,我们没有将值绑定到command对象的字段

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


这里的
selectedQuestions
是spring命令对象中的一个数组对象。

我想你差不多已经拥有了它。有了复选框,你只能发送一条信息,返回表单…这就是值。因此,如果你试图确定当用户单击submit按钮时选中了哪些复选框,那么我希望所有复选框都使用一个名称…如“id”(与您的完全相同)。Value是问题的实际id(与您的相同)。提交后,“id”将是一个字符串数组,其中包含选中复选框的所有值

因此,您的控制器方法需要将名为“id”的参数映射到参数“id”,该参数是字符串[]。现在,对于每个id,您可以调用questionService.findQuestionById


(我不是Groovy大师,所以没有代码示例sry:)

好吧,那很好。但是如果你不添加代码向我们展示你是如何尝试的,我们无法帮助你。你必须问一个特定的问题才能得到一个有用的答案。我刚刚更新了我的问题。可以吗???thnx bt不是groovy..它是scalaAh.Oops。我需要更多信息。:)