我想检查<c:if>
标记内的多个条件。
我这样做是
<c:if test="${role ne manager || role ne admin || role ne moderator}">
System.out.println("this result will not display for manager, admin & mod");
</c:if>
但是,我仍然可以看到上述角色的结果
答案 0 :(得分:1)
问题在于bool逻辑:
var result = [];
function getCat(id){
for(let item in Foods) {
var foodItem = Foods[item];
for(let i=0; i<foodItem.length; i++){
if(foodItem[i].id == id) {
result.push("<div class='box'><h2>" + foodItem[i].Name + "<br></div>"));
}
}
}
}
function display() {
alert(result);
}
display();
如果用户是MANAGER,那将是:
viewFlipper = (ViewFlipper) findViewById(R.id.switch_game);
与ADMIN和MODERATOR相同
所以你必须把它改成<c:if test=${role ne manager || role ne admin || role ne moderator}>
0 OR 1 OR 1 = 1
仅当用户没有任何指定的角色时,才会显示消息。
答案 1 :(得分:-1)
您可以使用<c:if>
和<c:choose>
标记在jsp中使用JSTL进行条件渲染。
要模拟 if ,您可以使用:
<c:if test="YourCondition"></c:if>
要模拟 if ... else ,您可以使用:
<c:choose>
<c:when test="${param.enter=='1'}">
burger.
<br />
</c:when>
<c:otherwise>
pizza.
<br />
</c:otherwise>
</c:choose>
如果您只想输出不同的文字,那么更简洁的例子就是
${condition ? "some text when true" : "some text when false"}
比 c短:选择。