我如何使用 thymeleaf 在 javascript 中使用 for 循环?
How can i use for loop in javascript using thymeleaf?
我正在使用 thymeleaf,所以当我 运行 这个应用程序时,它给我一个错误 (for(int i=0;i<10;i++) 这意味着我必须尊重 thymeleaf.My 问题是如何使用 thymeleaf 编写此脚本。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Handing Form Submission</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
</head>
<body>
<h1>Result</h1>
<p th:text="'columns_number: ' + ${db.columns_number}" />
<h3>Création de la base de données</h3>
<p>Table_name: <input type="text" th:field="${db.table_Name}" /></p>
<table id='tablona' border='1px'>
<tr>
<th>field</th>
<th>Size</th>
<th>Type</th>
<th>null</th>
</tr>
</table>
<script th:inline="javascript">
/*<![CDATA[*/
$( document ).ready(function() {
for(int i=0;i<[[${T(Integer).parseInt(db.columns_number)}]];i++)
{
$('<tr>'+
'<td><input id="field" type="text" name="field'+i+'" maxlength="255" required="required"/></td>'+
'<td><input id="Size" type="text" name="Size'+i+'" maxlength="255" required="required"/></td>'+
'<td><SELECT id="Type" name="Type'+i+'">'+
'<OPTION VALUE="varchar">varchar</OPTION>'+
'<OPTION VALUE="int">int</OPTION>'+
'<OPTION VALUE="text">long</OPTION>'+
'<OPTION VALUE="float">float</OPTION>'+
'<OPTION VALUE="double">double</OPTION>'+
'<OPTION VALUE="Date">Date</OPTION>'+
'<OPTION VALUE="Time">Time</OPTION>'+
'<OPTION VALUE="Year">Year</OPTION>'+
'<OPTION VALUE="Real">Real</OPTION>'+
'<OPTION VALUE="Boolean">Boolean</OPTION>'+
'<OPTION VALUE="longText">longText</OPTION>'+
'<OPTION VALUE="Binary">Binary</OPTION>'+
'</SELECT></td>'+
'<td><SELECT id="null" name="nullabilite'+i+'">'+
'<OPTION VALUE="null">null</OPTION>'+
'<OPTION VALUE="not_null">not_null</OPTION>'+
'</SELECT></td>'+
'</tr>').appendTo($("#tablona")).html()
}
});
/*]]>*/
</script>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</body>
</html>
In thymeleaf current scripting modes are javascript
(th:inline="javascript") and dart (th:inline="dart").
使用以下代码段代替 <script type="text/javascript">
<script th:inline="javascript">
/*<![CDATA[*/
...
//your code here
...
/*]]>*/
</script>
你应该用这个结构包装你的脚本:
<script th:inline="javascript">
/*<![CDATA[*/
$( document ).ready(function() {
for(i=0;i<10;i++) {
...
}
});
/*]]>*/
</script>
编辑:
不要忘记将 javascript 和其他静态文件存储在 spring-boot 项目
的 /src/main/webapp
文件夹中
编辑2:
您可以直接使用 thymeleaf 编写脚本:
<tr th:each="i : ${#numbers.sequence( 1, db.columns_number)}">
<td><input id="field" th:name="${'field'+i}" maxlength="255"
required="required" type="text" /></td>
<td><input id="Size" th:name="${'Size'+i}" maxlength="255"
required="required" type="text" /></td>
<td><select id="Type" th:name="${'Type'+i}">
...
</select></td>
<td><select id="null" th:name="${'nullabilite'+i}">
<option value="null">null</option>
<option value="not_null">not_null</option>
</select></td>
</tr>
<table border='1px'>
<thead>
<th>field</th>
<th>Size</th>
<th>Type</th>
<th>null</th>
</thead>
<tbody> </tbody>
</table>
<script th:inline="javascript">
/*<![CDATA[*/
$(document).ready(function () {
for (var i = 0; i < 10; i++) {
var row=[],r=0;
row[r]="<tr>";
row[++r]='<td>';
row[++r]='<input id="field" type="text" name="field"';
row[++r]=i;
row[++r]='maxlength="255" required="required"/>';
row[++r]='</td><td>';
row[++r]='<input id="Size" type="text" name="Size"';
row[++r]=i;
row[++r]= 'maxlength="255" required="required"/>';
row[++r]= '</td>';
/*
* this more readable
* other td
*
*/
row[++r]='</tr>';
$("tbody").append(row.join(""));
}
});
/*]]>*/
</script>
我正在使用 thymeleaf,所以当我 运行 这个应用程序时,它给我一个错误 (for(int i=0;i<10;i++) 这意味着我必须尊重 thymeleaf.My 问题是如何使用 thymeleaf 编写此脚本。
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Handing Form Submission</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
</head>
<body>
<h1>Result</h1>
<p th:text="'columns_number: ' + ${db.columns_number}" />
<h3>Création de la base de données</h3>
<p>Table_name: <input type="text" th:field="${db.table_Name}" /></p>
<table id='tablona' border='1px'>
<tr>
<th>field</th>
<th>Size</th>
<th>Type</th>
<th>null</th>
</tr>
</table>
<script th:inline="javascript">
/*<![CDATA[*/
$( document ).ready(function() {
for(int i=0;i<[[${T(Integer).parseInt(db.columns_number)}]];i++)
{
$('<tr>'+
'<td><input id="field" type="text" name="field'+i+'" maxlength="255" required="required"/></td>'+
'<td><input id="Size" type="text" name="Size'+i+'" maxlength="255" required="required"/></td>'+
'<td><SELECT id="Type" name="Type'+i+'">'+
'<OPTION VALUE="varchar">varchar</OPTION>'+
'<OPTION VALUE="int">int</OPTION>'+
'<OPTION VALUE="text">long</OPTION>'+
'<OPTION VALUE="float">float</OPTION>'+
'<OPTION VALUE="double">double</OPTION>'+
'<OPTION VALUE="Date">Date</OPTION>'+
'<OPTION VALUE="Time">Time</OPTION>'+
'<OPTION VALUE="Year">Year</OPTION>'+
'<OPTION VALUE="Real">Real</OPTION>'+
'<OPTION VALUE="Boolean">Boolean</OPTION>'+
'<OPTION VALUE="longText">longText</OPTION>'+
'<OPTION VALUE="Binary">Binary</OPTION>'+
'</SELECT></td>'+
'<td><SELECT id="null" name="nullabilite'+i+'">'+
'<OPTION VALUE="null">null</OPTION>'+
'<OPTION VALUE="not_null">not_null</OPTION>'+
'</SELECT></td>'+
'</tr>').appendTo($("#tablona")).html()
}
});
/*]]>*/
</script>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</body>
</html>
In thymeleaf current scripting modes are javascript (th:inline="javascript") and dart (th:inline="dart").
使用以下代码段代替 <script type="text/javascript">
<script th:inline="javascript">
/*<![CDATA[*/
...
//your code here
...
/*]]>*/
</script>
你应该用这个结构包装你的脚本:
<script th:inline="javascript">
/*<![CDATA[*/
$( document ).ready(function() {
for(i=0;i<10;i++) {
...
}
});
/*]]>*/
</script>
编辑:
不要忘记将 javascript 和其他静态文件存储在 spring-boot 项目
的/src/main/webapp
文件夹中
编辑2:
您可以直接使用 thymeleaf 编写脚本:
<tr th:each="i : ${#numbers.sequence( 1, db.columns_number)}">
<td><input id="field" th:name="${'field'+i}" maxlength="255"
required="required" type="text" /></td>
<td><input id="Size" th:name="${'Size'+i}" maxlength="255"
required="required" type="text" /></td>
<td><select id="Type" th:name="${'Type'+i}">
...
</select></td>
<td><select id="null" th:name="${'nullabilite'+i}">
<option value="null">null</option>
<option value="not_null">not_null</option>
</select></td>
</tr>
<table border='1px'>
<thead>
<th>field</th>
<th>Size</th>
<th>Type</th>
<th>null</th>
</thead>
<tbody> </tbody>
</table>
<script th:inline="javascript">
/*<![CDATA[*/
$(document).ready(function () {
for (var i = 0; i < 10; i++) {
var row=[],r=0;
row[r]="<tr>";
row[++r]='<td>';
row[++r]='<input id="field" type="text" name="field"';
row[++r]=i;
row[++r]='maxlength="255" required="required"/>';
row[++r]='</td><td>';
row[++r]='<input id="Size" type="text" name="Size"';
row[++r]=i;
row[++r]= 'maxlength="255" required="required"/>';
row[++r]= '</td>';
/*
* this more readable
* other td
*
*/
row[++r]='</tr>';
$("tbody").append(row.join(""));
}
});
/*]]>*/
</script>