当前位置: 首页 > 知识库问答 >
问题:

thymeleaf页面有2个对象有一个错误

丁经略
2023-03-14

Thymeleaf表单th:object和th:each对象在这里使用,它是控制器。

但是出现了运行时错误。我想这是因为这里使用了两个对象。一个是th:对象和th:每个对象

但是我想列出所有项目,同时更新等级并保存或更新。

<form action="#" th:action="@{/saveStudenttest.html}" th:object="test"> //here shown the runtime error 
        <table class="table" align="center">
            <tr>
                <th>Student</th>
                <th>Test Name</th>
                <th>Correct</th>
                <th>Wrong</th>
                <th>Not-Attended</th>
                <th>Grade</th>
            </tr>
            <tr th:each=" tr : ${testResult}">
                <td th:text="${tr.student.name}">NiL</td>
                <td th:text="${tr.test.testName}" >NiL</td>
                <td th:text="${tr.correct}">NiL</td>
                <td th:text="${tr.wrong}" >NiL</td>
                <td th:text="${tr.notAttend}">NiL</td>

            <td><select >//this is the listbox but the values in list box is not get
            <option value="" th:value="${'Excellent'}"  >Excellent</option>
            <option value="" th:value="${'Very Good'}" >Very Good</option>
            <option value="" th:value="${'Good'}" >Good</option>
            <option value="" th:value="${'Need To Improve'}" >Need To Improve</option>
 </select></td>

 <td><input type="submit" class="btn btn-primary" value="Update"  name="update"  />
 <input type="hidden"   name="id"  th:field="*{id}"/> </td>
</tr>
</table>
 </form>

控制器

 @RequestMapping(value = Array("parent/result.html"))
      def result(testModel: ModelMap): String = {
        println(results)
        testModel.addAttribute("testResult", results)
        "parent/test-result"
      }


@RequestMapping(value = Array("parent/ViewReport.html"))
       def viewAssessment(stmodel:ModelMap ): String = {
       stmodel.addAttribute("test", new StudentTest)
       "parent/assessment-report"
    }

@RequestMapping(value = Array("/saveStudenttest.html"), params = Array({ "update" }), method =   Array(RequestMethod.GET))
    def afterUpdateStudenttest(test: StudentTest,@RequestParam id: Long): String = {
       test.setId(id)
       studentTestService.saveOrUpadeStudentTest(test)
       "redirect:/parent/saveStudenttest.html"
    }

这就是图像

当按下更新按钮时,列表框项目将保存在字段grade中

现在页面未正确运行显示运行时错误

错误:

无法解析为表达式:"test"

共有1个答案

段干玺
2023-03-14

试试这个。。此处,select的值传递给控制器

 <form action="#" th:action="@{/saveStudenttest.html}" > 
        <table class="table" align="center">
            <tr>
                    <th>Student</th>
                <th>Test Name</th>
                <th>Correct</th>
                <th>Wrong</th>
                <th>Not-Attended</th>
                <th>Assign Grade</th>
                <!-- <th>Max-Mark</th> -->
            </tr>
            <tr th:each=" tr : ${testResult}">
            <td th:text="${tr.student.name}">NiL</td>
            <td th:text="${tr.test.testName}" >NiL</td>
            <td th:text="${tr.correct}">NiL</td>
            <td th:text="${tr.wrong}" >NiL</td>
            <td th:text="${tr.notAttend}">NiL</td>

            <td><select name ="combo">
                    <option value="Excellent" th:value="${'Excellent'}">Excellent</option>
            <option value="Very Good" th:value="${'Very Good'}" >Very Good</option>
            <option value="Good" th:value="${'Good'}" >Good</option>
            <option value="Need to Improove" th:value="${'Need To Improve'}">Need To Improve</option>
            </select></td>
        <td><input type="submit" class="btn btn-primary" value="Update"  name="update"  />
        <input type="hidden"   name="id" th:value="${tr.id}" /></td>
        </tr>
    </table>
 </form>  

和控制器

@RequestMapping(value = Array("parent/result.html"))
  def result(testModel: ModelMap): String = {
    println(results)
    testModel.addAttribute("testResult", results)
    "parent/test-result"
  }

@RequestMapping(value = Array("parent/ViewReport.html"))
  def viewAssessment(stmodel:ModelMap ): String = {
      stmodel.addAttribute("test", results)       
    "parent/assessment-report"
  }

@RequestMapping(value = Array("/saveStudenttest.html"), params = Array({ "update" }), method = Array(RequestMethod.GET))
  def afterUpdateStudenttest(test: StudentTest,@RequestParam id: Long,combo:String): String = {
        var tId:StudentTest=studentTestService.findStudentTestById(id)
    println(tId+"#####################"+combo)
    tId.setGrade(combo)
    studentTestService.saveOrUpadeStudentTest(tId)
    "redirect:/parent/ViewReport.html"
  }
 类似资料:
  • 我用缩略图创建了一个小图像库。每次我将鼠标悬停在给定的颜色上,主窗口中的图像就会变成具有这种颜色的图像(实际上,我希望彩色图像被替换为我放在那里的图像的不同颜色变化)。 我想做的是在我的页面上放不止一个这样的图库。问题是,如果我添加另一个库,所有内容都会重复。我希望避免为每个库创建css和jquery代码。有什么办法可以做到这一点吗? 此外,最初我希望大图像仅在单击彩色缩略图时显示,而不是悬停在上

  • 我正在解决一个问题,我必须导入3个文本文件:医生、病人、就诊。一旦导入,我需要将患者分配给医生 我的问题是,当我导入访问文件时 我当前的代码显示: 我用于访问的文本文件是这样的(医生的ID、患者的ID、日期): (这是文件中的一行医生:医生ID、姓氏、姓名、出生日期、NIP号、个人编号PESEL) (这是文件Paitient中的一行:Paitient的ID、姓氏、姓名、个人编号PESEL、出生日期

  • 我已经创建了一个网站与德鲁帕尔6.34。 当我浏览到我的drupal 6.34网站时,我在页面顶部收到以下错误。我已经搜索了drupal,但无法弄清楚它的设置在哪里。我想知道我是否应该更改错误框架中提到的代码?它是什么以及如何在 Drupal 6.34 中打开它。 严格警告:views_handler_field::query() 的声明应与 /home/b15040be/public_html/

  • 问题内容: 在我目前正在从事的一个项目中,我遇到了一个角度异常: 在寻找解决方案的搜索中,我直接在浏览器中输入了Web服务的URL,但令人惊讶的是,我没有收到预期的数组。 Web服务类: 当我输入网址时,我希望看到带有JSON对象的JSON数组: 但是,相反,我收到的JSON对象的属性与我期望的JSON对象相同,没有任何数组: 所以我想知道为什么没有数组,当我添加另一个Clazz对象时会发生什么。

  • 原因是:groovy.lang.MissingPropertyException:无法将tile1解析为Pages.LoginPage的内容或导航器上下文中的属性。tile1是您忘记导入的类吗? 它在loginPage中寻找tile1,而不是主页。

  • 本文向大家介绍如何让一个对象具有私有属性?相关面试题,主要包含被问及如何让一个对象具有私有属性?时的应答技巧和注意事项,需要的朋友参考一下 Symbol 生成的每个值都是独一无二的 用 Symbol 作 key 值 无论是 for in 或 for of都遍历不到 只能用Object.getOwnPropertySymbols 才可以遍历到