c:remove
remove标签就相当简单了,只有var和scope属性,代表的是删除域范围的属性
- 下面简单来测试一下吧:
<%--创建出JavaBean对象,设置为session范围的属性--%> <jsp:useBean id="person" class="domain.Person" scope="session"/> <%--获取到person对象,设置age属性的值为32--%> <c:set target="${person}" property="age" value="32"/> ${person.age} <br> <%--删除session属性--%> <c:remove var="person" scope="session"></c:remove> ${person.age==null?"存在session的person对象被删除了!":"我还在呢!"}
效果:
c:catch
该标签主要用来处理程序中产生的异常。
catch标签也十分简单,只有一个var属性,var属性封装了异常的信息!
<%--创建出JavaBean对象,设置为session范围的属性--%> <jsp:useBean id="person" class="domain.Person" scope="session"/> <c:catch var="message"> <%--target属性只能是EL表达式,现在我是字符串,获取不到对象,肯定会抛出异常的!--%> <c:set target="person" property="age" value="32"/> </c:catch> ${message}
效果:
c:if
JSTL提供了if标签完成分支语句的实现,test属性是不可或缺的。
var和scope属性我看来好像没什么用的(保存执行结果有什么用?)
- 根据传递过来的参数的不同显示不同的页面!
<%--如果带过来的名字是zhongfucheng,那么可以登陆--%> <c:if test="${param.name=='zhongfucheng'}"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="登陆"> </c:if> <%--如果带过来的名字是ouzicheng,那么就是注册--%> <c:if test="${param.name=='ouzicheng'}"> 用户名:<input type="text" name="username"><br> 密码:<input type="password" name="password"><br> <input type="submit" value="注册">
注意地址栏的参数!
c:choose
if标签没有else的功能,如果需要类似于java中的if else流程就需要使用choose标签。
choose标签需要联合when和otherwise标签一起使用!
<c:choose> <c:when test="${param.name=='zhongfucheng'}"> 你好啊,zhongfucheng </c:when> <c:when test="${param.name=='ouzicheng'}"> 你好啊,ouzicheng </c:when> <c:otherwise> 你是谁啊?别随便过来! </c:otherwise> </c:choose>
- 效果: