当前位置: 首页 > 工具软件 > JspTest > 使用案例 >

JSP之if标签

钮才哲
2023-12-01

if标签有三个属性:test、var、scope
test属性是一个条件表达式,当表达式为真时,执行标签体

同时if标签还能将test表达式的结果写入到域中
var属性用来指定key,test表达式的结果为value
scope属性用来指定相应的域,默认存入page域中
当var属性被使用时,使用scope属性才有意义

当test表达式为真,执行标签体

<c:set var="username" value="zhangsan" />

<c:if test="${username=='zhangsan'}">
    <h2>进入系统</h2>
    <%
        Integer num = 100;
        num += 100;
    %>
    <%=num%>    <br/>
    ${username} <br/>
</c:if>

当test条件表达式为假时不执行标签体

<c:if test="${1==2}">
	I'am Student;   <br/>
</c:if>

test表达式结果为假,不执行标签体
但使用了var属性,于是会将test表达式的结果存入域中,由于scope的值默认为page,所以会将t1=false存入page域中(无论test条件表达式为真还是为假,只要使用了var属性,那么就会将条件表达式的结果写入到域中)
<c:if test="1==2" var="t1">
    I'am teacher;   <br/>
</c:if>
${pageScope.t1}    <br/>

test表达式结果为真,执行标签体
使用了var属性,将test表达式的结果存入request域中
<c:if test="${2==2}" var="t2" scope="request" >
	I'am worker;    <br/>
</c:if>
${requestScope.t2}    <br/>
 类似资料: