如何在模板templates.jsp中使用if语句?

时间:2014-11-12 11:33:30

标签: java jsp servlets

这段代码有什么问题...我已经尝试了很多解决方案,但在if循环中总是出错..

<script type="text/template" id="tableItemPageView">

<% if(%>${pageContext.request.userPrincipal.name } === <@= table.user @><%){  %>

<td><@= table.id @></td>                
            <td><@= table.name @></td>
            <td><@= table.changed @></td>
            <td><@= table.description @></td>
            <td class="correctUser"><a href="#tables/edit/<@=table.id@>">Edit </a><a  
                   href="#tables/show/<@=table.id@>"> Players</a><a id="removeTable">  Delete</a>       

<% }else{  %>

<td><@= table.id @></td>                
            <td><@= table.name @></td>
            <td><@= table.changed @></td>
            <td><@= table.description @></td>
<% } %>
</script>

在这个解决方案中,我有一个错误,在&#34之后;如果&#34;有错误&#34;令牌上的语法错误&#34;(&#34;,在此令牌之后预期的表达式&#34;。

我想检查注册用户是否与创建该用户的用户相同 表...

2 个答案:

答案 0 :(得分:2)

我建议您使用JavaServer Pages Standard Tag LibraryExpression Language代替Scriplet,这样更易​​于使用且不易出错。

使用JSP中可用的Implicit object来访问任何范围内的任何属性。

使用if核心标记库

<c:if test="${requestScope.userPrincipal.name == ’XYZ’}">
    ...
</c:if>

或者使用等同于JAVA switch语句的when/otherwise核心标记库

<c:choose>
     <c:when test="${requestScope.userPrincipal.name == ’XYZ’}" >
         ...
     </c:when>
     <c:otherwise>
         ...
     </c:otherwise>
 </c:choose>

答案 1 :(得分:0)

这可能对您有所帮助

替换

<@= table.user @>

<%= table.user %>