简单表达式的非法开始,不知道为什么?
illegal start of simple expression and dont know why?
<table class="table table-hover">
<thead>
<th>#</th>
<th>Poster</th>
<th>Post</th>
<th>Bearbeiten</th>
</thead>
<tbody>
@for((result, index) <- posts.zipWithIndex) {
@if(@result.getPoster() == @userid){
<tr>
<td>@{index + 1}</td>
<td>@result.getPoster_name()</td>
<td>@result.getPost()</td>
<td><a href = "/post/@result.getId()">Bearbeiten</a></td>
</tr>
}else{
<tr>
<td>@{index + 1}</td>
<td>@result.getPoster_name()</td>
<td>@result.getPost()</td>
<td>nicht dein Post</td>
</tr>
}
}
</tbody>
</table>
当我尝试编译它时,我在行中收到错误 illegal start of simple expression
@{index + 1} 在 if 语句中。有人可以帮我吗我知道为什么这不起作用。
您仅在开始表达式或块时使用 @
。所以在这一行
@if(@result.getPoster() == @userid)
改用这个
@if(result.getPoster == userid)
模板引擎会自动检测代码块的结尾。如果您已经用 @ 标记了您的代码,则无需重复它直到该表达式结束。所以这将完成工作:
@if(result.getPoster == userid)
您在 @{index + 1}
行收到错误,但问题实际上出在 @if(@result.getPoster() == @userid)
行。
我在这里对你的代码也有 2 处改进,如果你的 userid
是一个 Long,不要将它与 ==
符号进行比较,它只适用于小于 127 的 Long 对象。
而不是写 href = "/post/@result.getId()"
你可以使用你的路线。 (动态link)
<table class="table table-hover">
<thead>
<th>#</th>
<th>Poster</th>
<th>Post</th>
<th>Bearbeiten</th>
</thead>
<tbody>
@for((result, index) <- posts.zipWithIndex) {
@if(@result.getPoster() == @userid){
<tr>
<td>@{index + 1}</td>
<td>@result.getPoster_name()</td>
<td>@result.getPost()</td>
<td><a href = "/post/@result.getId()">Bearbeiten</a></td>
</tr>
}else{
<tr>
<td>@{index + 1}</td>
<td>@result.getPoster_name()</td>
<td>@result.getPost()</td>
<td>nicht dein Post</td>
</tr>
}
}
</tbody>
</table>
当我尝试编译它时,我在行中收到错误 illegal start of simple expression @{index + 1} 在 if 语句中。有人可以帮我吗我知道为什么这不起作用。
您仅在开始表达式或块时使用 @
。所以在这一行
@if(@result.getPoster() == @userid)
改用这个
@if(result.getPoster == userid)
模板引擎会自动检测代码块的结尾。如果您已经用 @ 标记了您的代码,则无需重复它直到该表达式结束。所以这将完成工作:
@if(result.getPoster == userid)
您在 @{index + 1}
行收到错误,但问题实际上出在 @if(@result.getPoster() == @userid)
行。
我在这里对你的代码也有 2 处改进,如果你的 userid
是一个 Long,不要将它与 ==
符号进行比较,它只适用于小于 127 的 Long 对象。
而不是写 href = "/post/@result.getId()"
你可以使用你的路线。 (动态link)