【问题标题】:Thymeleaf Using th:if within a th:blockThymeleaf 在 th:block 中使用 th:if
【发布时间】:2014-08-29 11:20:21
【问题描述】:

我是 thymeleaf 的新手,正在尝试创建一个 html 表,其中一个布尔值决定文本在某些列中是通过还是失败。

SmokeTest.passOrFailArray 是一个布尔数组。 现在,smokeTest.name 显示在列中,但通过或失败的文本根本没有显示。

这是我的 thymeleaf/html 代码

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Smoke Tests</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>

<table border="1" style="width:300px">
<tr>
    <td>Test Name</td>
    <td th:each="testsThatRan : ${testsThatRan}"
    th:text="${testsThatRan}">Tests</td>
</tr>
<th:block th:each="smokeTest : ${smokeTests}">
<tr>
   <td th:text="${smokeTest.name}">A Smoke Test'</td>
   <th:block th:each="smokeTest.passOrFailArray : ${smokeTest.passOrFailArray}">
        <td th:if="${smokeTest.passOrFailArray} == true" th:text="Passed"></td>
        <td th:if="${smokeTest.passOrFailArray} == false" th:text="failed"></td>

   </th:block>
</tr>
</th:block>
</table>
</body>
</html>

这是我在百里香中用作变量的类

public testers() throws IOException {

    localPath = "/Users/dansbacher14/Documents/workspace/OBI_nightly_test/src/OBI_ci_scripts_tests";
    remotePath = "ssh://git@stash.ops.aol.com:2022/obi/obi_ci_scripts.git";
    localRepo = new FileRepository(localPath + "/.git");
    pathToSmoke = "BPS/GPS/GATHR/SMOKE";
    pathToODirectory = "test-results";
    git = new Git(localRepo);
}

public static <C> void testClone() throws IOException, InvalidRemoteException, TransportException, GitAPIException 
{

    Git.cloneRepository().setURI(remotePath).setDirectory(new File(localPath)).call();
}


//____________SETTERS AND GETTERS __________________________________________________________________________________

public void setName(String name)
{
    jmxName = name;
}

public String getName()
{
    return jmxName;
}


public boolean[] getPassOrFailArray()
{
    return passOrFailArray;
}

public String getLocalPath()
{
    return localPath;
}

}

这就是浏览器呈现源代码的方式。

 <!DOCTYPE HTML>

<html>
<head>
<title>Smoke Tests</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>

<table border="1" style="width:300px">
<tr>
    <td>Test Name</td>
    <td>OBI01</td>
    <td>DEV</td>
</tr>

<tr>
   <td>authAmtTesting.jmx</td>



</tr>


<tr>
   <td>authTesting.jmx</td>




</tr>


<tr>
   <td>CC_Crypto.jmx</td>





</tr>


<tr>
   <td>ci_address.jmx</td>


</tr>


<tr>
   <td>ci_cardtype_negative.jmx</td>



</tr>


<tr>
   <td>ci_cardtype_positive.jmx</td>


</tr>


<tr>
   <td>promoSmokeTst.jmx</td>



</tr>


<tr>
   <td>tokenizedPayment.jmx</td>


</tr>

</table>
</body>
</html>

是否可以在百里香中做这样的事情?如果是这样,我怎么能做到这一点?谢谢

【问题讨论】:

  • 能否请您发布正在浏览器中呈现的 HTML?
  • 您也可以发布您正在使用的类,因为从 Thymeleaf 代码中并不能完全清楚模型实际上是什么样的

标签: html boolean each thymeleaf


【解决方案1】:

此代码有效

<th:block th:each="pf : ${smokeTest.passOrFailArray}">
        <td th:if="${pf} == true" th:text="Passed"></td>
        <td th:if="${pf} == false" th:text="failed"></td>

   </th:block>

问题是我在每个循环中错误地命名了我的变量。名称中不能有句点。

【讨论】:

    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2013-04-07
    • 2017-04-28
    • 2014-07-22
    相关资源
    最近更新 更多