if ... else或JSP或JSTL中的其他内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了if ... else或JSP或JSTL中的其他内容相关的知识,希望对你有一定的参考价值。
我有一个开放式的问题..
我想要一个基于条件(桌面/ ipad)的html代码..说条件1 /条件2
我希望为每个条件都有单独的HTML代码段...
if (Condition 1)
Some HTML code for con1
else if (Condition 2)
Some HTML code for con2
我想测试的条件(在JS中)是;
var isiPad = navigator.userAgent.match(/iPad/i) != null;
if (isiPad)
{}
else
{}
现在必须在.jsp页面中实现...
那我该怎么做?我应该使用JSTL吗?什么是最好的方法?
主要的是,实际上只应加载/渲染相应的代码,例如如果条件1为真,则条件2中的HTML代码根本不应执行(除了隐藏在浏览器中)
我应该使用JSTL吗?
是。
您可以使用<c:if>
和<c:choose>
标签在jsp中使用JSTL进行条件渲染。
要模拟是否,您可以使用:
<c:if test="condition"></c:if>
要模拟if ... else,你可以使用:
<c:choose>
<c:when test="${param.enter=='1'}">
pizza.
<br />
</c:when>
<c:otherwise>
pizzas.
<br />
</c:otherwise>
</c:choose>
如果您想使用JSTL Tag Libe执行以下操作,请按照以下步骤操作:
[要求]如果数字大于等于40且小于50,则显示“以4开头的两位数”,否则显示“其他数字”。
[解决方案]
1. Please Add the JSTL tag lib on the top of the page.`
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>`
2. Please Write the following code
`
<c:choose>
<c:when test="${params.number >=40 && params.number <50}">
<p> Two digit number starting with 4. </p>
</c:when>
<c:otherwise>
<p> Other numbers. </p>
</c:otherwise>
</c:choose>`
如果您只想输出不同的文本,则会有一个更简洁的示例
${condition ? "some text when true" : "some text when false"}
它比c更短:选择。
这个结构是:
<c:choose>
<c:when test="${..}">...</c:when> <!-- if condition -->
<c:when test="${..}">...</c:when> <!-- else if condition -->
<c:otherwise>...</c:otherwise> <!-- else condition -->
</c:choose>
如果条件不贵,我有时更喜欢简单地使用两个不同的<c:if
标签 - 它使它更容易阅读。
如果您想比较字符串,请编写以下JSTL:
<c:choose>
<c:when test="${myvar.equals('foo')}">
...
</c:when>
<c:when test="${myvar.equals('bar')}">
...
</c:when>
<c:otherwise>
...
</c:otherwise>
</c:choose>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
<c:set var="val" value="5"/>
<c:choose>
<c:when test="${val == '5'}">
Value is 5
</c:when>
<c:otherwise>
Value is not 5
</c:otherwise>
</c:choose>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %>
<c:set var="isiPad" value="value"/>
<c:choose>
<!-- if condition -->
<c:when test="${...}">Html Code</c:when>
<!-- else condition -->
<c:otherwise>Html code</c:otherwise>
</c:choose>
简单方法:
<c:if test="${condition}">
//if
</c:if>
<c:if test="${!condition}">
//else
</c:if>
您可以在jsp页面中的<% %>
中编写if-else条件,在<% %>
之外编写html代码
例如:
<%
String username = (String)session.getAttribute("username");
if(username==null) {
%>
<p> username is null</p> //html code
<%
} else {
%>
<p> username is not null</p> //html code
<%
}
%>
我有同样的问题,我想你不能在JSTL中使用javascript条件。
一种解决方法可以在Javascript中:
<script>
var isiPad = navigator.userAgent.match(/iPad/i) != null;
if (isiPad) {
document.write("Some HTML code for con1");
} else {
document.write("Some HTML code for con2");
}
</script>
您必须将此脚本放在您要编写的html代码的位置。
以上是关于if ... else或JSP或JSTL中的其他内容的主要内容,如果未能解决你的问题,请参考以下文章