jsp中使用jstl实现类似java的if-else功能的写法

来源:互联网 发布:申请一个域名要多少钱 编辑:程序博客网 时间:2024/05/17 18:16

在用spring mvc中,页面前端老用jstl和el表达式

jstl中也有一个类似于java中if-else的判断的用法

<c:choose><c:when>和<c:otherwise>一起使用达到上面的效果。

使用<c:choose>把<c:when><c:otherwise>包起来<c:when>相当于if;<c:otherwise>相当于else

<c:choose> 

  <c:when test="${empty param.username}">   

    Nnknown user.  

  </c:when> 

  <c:when test="${param.username=='Tom'}">   

    ${param.username} is manager.  

  </c:when> 

  <c:otherwise>   

    ${param.username} is employee.  

  </c:otherwise> 

</c:choose> 

以上标签等价于以下Java程序片段:

 

<%  

String username=request.getParameter("username");  

if(username==null){  

  //对应第一个<c:when>标签的主体  

  out.print("Nnknown user.");  

}else if(username.equals("Tom")){  

  //对应第二个<c:when>标签的主体  

  out.print(username+" is manager.");  

}else{  

  //对应<c:otherwise>标签的主体  

  out.print(username+" is employee.");  

}  

%> 

<c:choose>、<c:when>和<c:otherwise>标签的使用必须符合以下语法规则:

 

<c:when>和<c:otherwise>不能单独使用,它们必须位于<c:choose>父标签中。

 

在<c:choose>标签中可以包含一个或多个<c:when>标签。

 

在<c:choose>标签中可以不包含<c:otherwise>标签。

 

在<c:choose>标签中如果同时包含<c:when>和<c:otherwise>标签,那么<c:otherwise>必须位于<c:when>标签之后。


0 0
原创粉丝点击