jstl c:choose>、标签

在用spring mvc中,页面前端老用jstl,记录一下。

<c:choose>、<c:when>和 <c:otherwise>在一起连用,可以实现JAVA语句的功能,例如以下代码根据username请求参数的值来打印不同的结果:

<c:choose> <c:when test="${empty param.username}">Nuknown 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=reuqest.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>标签之后。

用struts标签

<s:if test="#userCourse.courseID.bookDinner==true"> <s:if test="#userCourse.bookDinner==true"> 结果一 </s:if> <s:else> 结果二</s:else> </s:if> <s:else> 结果三</s:else>


经验分享 程序员 微信小程序 职场和发展