JSTL核心库常用标签举例

本文详细介绍并演示了JSTL核心标签库的使用方法,包括条件判断、循环操作、变量设置与移除等标签的功能及应用场景。通过具体示例展示了如何在JSP页面中高效利用这些标签。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSTL核心库常用标签举例(详解)


struts-config.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>

<action-mappings>
 
   <action path="/jstlcore"
     type="com.yulin.struts.JSTLCoreAction"
     >
     <forward name="success" path="/jstlcore.jsp"></forward>
   </action>
    </action-mappings>

<message-resources parameter="MessageResources" />
</struts-config>

演示的JSP页面(jstlcore.jsp):

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Test JSTL</title>
</head>
<body>
<h1>Test JSTL</h1>
<hr>
<li>TEST c:out</li><hr>
core(el): ${core }<br>
core(el.empty): ${empty core }<br>
core(default):<c:out value="${core}"> </c:out> <br>
core(default):<c:out value="${core1}" > </c:out> <br>
core(default="123456"):<c:out value="${core1}" default="123456" ></c:out> <br>
<hr>
html(el): ${core2 }<br>
html(el.requestScope): ${requestScope.core2 }<br>
html(default):<c:out value="${core2}"> </c:out> <br>
html(escapeXml="true"):<c:out value="${core2}" escapeXml="true" ></c:out> <br>
html(escapeXml="false"):<c:out value="${core2}" escapeXml="false" ></c:out> <br>
html(default="<font color='red'>输出html文件</font>"):<c:out value="${core3}" default="<font color='red'>输出html文件</font>"></c:out> <br>
html(default="<font color='red'>输出html文件</font>"escapeXml="false"):<c:out value="${core3}" default="<font color='red'>输出html文件</font>" escapeXml="false"></c:out> <br>
<hr>
<li>TEST c:set c:remove</li><hr>
<c:set var="temp" value="1000n"> </c:set>
temp(c:set): ${temp }<br>
<c:remove var="temp"/>
temp(c:remove): ${temp }<br>
<hr>
<li>TEST c:if</li><hr>
<c:if test="${v1 lt v2}" var="r">
v1小于v2,${r }<br>
</c:if>
<c:if test="${v2 gt v1}" var="r">
v2da于v1,${r }<br>
</c:if>
<hr>
<li>TEST c:choose,c:when,c:otherwise</li><hr>
<c:choose>
<c:when test="${v1 lt v2}">
   v1小于v2<br>
</c:when>
</c:choose>
<c:choose>
<c:when test="${v1 gt v2}">
   v1da于v2<br>
</c:when>
<c:otherwise>
   v1xiaoyuv2<br>
</c:otherwise>
</c:choose>
<hr>
<li>TEST c:forEach varStatus="vs" begin="4" end="40" step="5" </li><hr>
<table border="1">
<tr bgcolor="yellow">
   <td>Username</td>
   <td>Age</td>
   <td>Group</td>
</tr>
<c:choose>
   <c:when test="${empty userList}">
   <tr>
    <td clospan="3">there is no info!</td>
   </tr>
   </c:when>
   <c:otherwise>
    <c:forEach items="${userList}" var="user" varStatus="vs" begin="4" end="40" step="5">
     <c:choose>
      <c:when test="${vs.count % 2 == 0}">
       <c:set var="str" value="bgcolor=green" />
      </c:when>
      <c:otherwise>
       <c:set var="str" value="bgcolor=red" />
      </c:otherwise>
     </c:choose>
     <tr ${str }>
      <td>${user.username }</td>
      <td>${user.age }</td>
      <td>${user.group.name }</td>
     </tr>
   </c:forEach>
   </c:otherwise>
</c:choose>
</table>
<hr>
<li>TEST c:fortokens delims="," var="f"</li><hr>
<c:forTokens items="${fortokens}" delims="," var="f">
${f }<br>
</c:forTokens>
<hr>
<li>TEST c:catch</li><hr>
<c:catch var="e">
<%
Integer.parseInt("sss");
%>
</c:catch>
${e }<br>
<hr>
<li>TEST c:import </li><hr>
<c:import url="http://localhost:8080/struts-taglib/index.jsp"/>
<hr>
<li>TEST c:url c:param </li><hr>
<c:url value="http://localhost:8080/struts-taglib/index.jsp" var="turl">
<c:param name="id" value="01" />
<c:param name="name" value="linzhang"/>
</c:url>
${turl }<br>
<hr>
<li>TEST c:redirect [context]url </li><hr>

</body>
</html>

所需的JSTLCoreAction页面(JSTLCoreAction.java):

package com.yulin.struts;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class JSTLCoreAction extends Action {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
   request.setAttribute("core", "core");
   request.setAttribute("core1", "");
   //输出html文件
   request.setAttribute("core2", "<font color='red'>输出html文件</font>");
   request.setAttribute("core3", "");
   request.setAttribute("v1", 1);
   request.setAttribute("v2", 2);
   request.setAttribute("v3", "");
 
   List userList = new ArrayList();
   for(int i=0;i<50;i++){
    Group g = new Group();
    g.setName("China");
    User u = new User();
    u.setUsername("LinZhang" + i);
    u.setAge(23);
    u.setGroup(g);
    userList.add(u);
   }
   request.setAttribute("userList", userList);
 
   request.setAttribute("fortokens", "a,b,c,d,e,f,g");
   return mapping.findForward("success");
}

}

涉及到的User(User.java)和Group(Group.java)页面:

User.java:

package com.yulin.struts;

public class User {
private String username;
private int age;
private Group group;
public String getUsername() {
   return username;
}
public void setUsername(String username) {
   this.username = username;
}
public int getAge() {
   return age;
}
public void setAge(int age) {
   this.age = age;
}
public Group getGroup() {
   return group;
}
public void setGroup(Group group) {
   this.group = group;
}
}

Group.java:

package com.yulin.struts;

public class Group {
private String name;

public String getName() {
   return name;
}

public void setName(String name) {
   this.name = name;
}
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值