Struts 1 学习笔记-3-2(JSTL核心标签库测试)

时间:2022-10-30 19:14:42

 1.引入以下两个jar包

Struts 1 学习笔记-3-2(JSTL核心标签库测试)

2.按惯例,先上struts-config.xml,(其中包含了我上一个EL测试的action)

Struts 1 学习笔记-3-2(JSTL核心标签库测试)<?xml version="1.0" encoding="ISO-8859-1" ?>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
<!DOCTYPE struts-config PUBLIC
Struts 1 学习笔记-3-2(JSTL核心标签库测试)          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
Struts 1 学习笔记-3-2(JSTL核心标签库测试)          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
<struts-config>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<action-mappings>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<action path="/jstlel" type="com.codedestiny.struts.JSTLELAction" scope="request">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<forward name="success" path="/jstlel.jsp"></forward>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</action>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<action path="/jstlcore" type="com.codedestiny.struts.JSTLCoreAction" scope="request">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<forward name="success" path="/jstlcore.jsp"></forward>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</action>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</action-mappings>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<message-resources parameter="MessageResources" />
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
</struts-config>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)

 

3.接下来JSTLCoreAction.java:

Struts 1 学习笔记-3-2(JSTL核心标签库测试)package com.codedestiny.struts;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import java.util.ArrayList;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import java.util.HashMap;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import java.util.List;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import java.util.Map;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import javax.servlet.http.HttpServletRequest;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import javax.servlet.http.HttpServletResponse;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import org.apache.struts.action.Action;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import org.apache.struts.action.ActionForm;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import org.apache.struts.action.ActionForward;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
import org.apache.struts.action.ActionMapping;
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)Struts 1 学习笔记-3-2(JSTL核心标签库测试)
public class JSTLCoreAction extends Action {
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"hello""Hello World");
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"cd""<font color='red' size='6'>成都欢迎大家</font>");
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"v1"10);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"v2"20);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        List
<User> users = new ArrayList<User>();
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        Group relatedGroup 
= new Group();
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        relatedGroup.setName(
"Xihua Univercity");
Struts 1 学习笔记-3-2(JSTL核心标签库测试)Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
for(int i=1; i<10; i++{
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            User u 
= new User();
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            u.setUsername(
"user" + i);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            u.setAge(
20 + i);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            u.setRelatedGroup(relatedGroup);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            users.add(u);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        }

Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        Map
<String, Integer> hashMap = new HashMap<String, Integer>();
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        hashMap.put(
"key1"1);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        hashMap.put(
"key2"2);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        hashMap.put(
"key3"3);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        hashMap.put(
"key4"4);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"map", hashMap);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
            request.setAttribute("users", users);
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        request.setAttribute(
"tokenstr""1,2,3,4,5");
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
return mapping.findForward("success");
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    }

Struts 1 学习笔记-3-2(JSTL核心标签库测试)
Struts 1 学习笔记-3-2(JSTL核心标签库测试)}

Struts 1 学习笔记-3-2(JSTL核心标签库测试)

 

4.展示页面jstlcore.jsp:

Struts 1 学习笔记-3-2(JSTL核心标签库测试)Struts 1 学习笔记-3-2(JSTL核心标签库测试)<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)Struts 1 学习笔记-3-2(JSTL核心标签库测试)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
<html>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)  
<head>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)  
</head>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)  
Struts 1 学习笔记-3-2(JSTL核心标签库测试)  
<body>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<h1>JSTL核心库标签测试</h1>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)      
<li>测试c:out</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    hello(default) : 
<c:out value="${hello}"></c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    b(default value) : 
<c:out value="${b}" default="no value"></c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    b(default value) : 
<c:out value="${b}">no value</c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    cd(default) : 
<c:out value="${cd}"></c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    cd(escapeXml=true) : 
<c:out value="${cd}" escapeXml="true"></c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    cd(escapeXml=false) : 
<c:out value="${cd}" escapeXml="false"></c:out><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试c:set, c:remove</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:set var="temp" value="123"></c:set>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    temp : ${ temp } 
<br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:remove var="temp"/>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    temp : ${ temp } 
<br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试条件控制标签c:if</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:if test="${v1 < v2}" var="boolean">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        v1 
< v2 ? ${boolean} <br> 
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</c:if>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试条件控制标签c:choose, c:when, c:otherwise</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:when test="${v1 < v2}"> 
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            v1 
< v2 <br> 
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            v1 > v2 
<br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环访问标签c:forEach</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<table border="1">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<td>姓名</td><td>年龄</td><td>所属组</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:when test="${empty users}">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<tr><td colspan="3">没有相关数据</td></tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<c:forEach items="${users}" var="user">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<td>${user.username}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<td>${user.age}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<td>${user.relatedGroup.name}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
</c:forEach>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)           
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</table>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环访问标签c:forEach中varStatus的用法</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<table border="1">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<td>姓名</td><td>年龄</td><td>所属组</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:when test="${empty users}">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<tr><td colspan="3">没有相关数据</td></tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<c:forEach items="${users}" var="user" varStatus="vs">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<c:when test="${vs.count % 2 == 0}">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr bgcolor="red">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.username}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.age}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.relatedGroup.name}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.username}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.age}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.relatedGroup.name}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
</c:forEach>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)           
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</table>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环访问标签c:forEach中begin, end, step的用法</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<table border="1">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<td>姓名</td><td>年龄</td><td>所属组</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:when test="${empty users}">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<tr><td colspan="3">没有相关数据</td></tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
<c:forEach items="${users}" var="user" varStatus="vs" begin="1" end="8" step="2">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
<c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<c:when test="${vs.count % 2 == 0}">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr bgcolor="red">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.username}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.age}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.relatedGroup.name}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
</tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
</c:when>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
<c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.username}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.age}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                                
<td>${user.relatedGroup.name}</td>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                            
<tr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                        
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                    
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)                
</c:forEach>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)            
</c:otherwise>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)           
</c:choose>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</table>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环访问标签c:forEach,输出一个map</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:forEach items="${map}" var="v">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:out value="${v.key}"/> = <c:out value="${v.value}"/><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</c:forEach>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环访问标签c:forEach,普通标签</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:forEach begin="0" end="5">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        aaa
<br>        
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</c:forEach>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<hr>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<li>测试循环控制标签c:fortokens</li><br>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
<c:forTokens items="${tokenstr}" delims="," var="v">
Struts 1 学习笔记-3-2(JSTL核心标签库测试)        
<c:out value="${v}"></c:out>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
</c:forTokens>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)    
Struts 1 学习笔记-3-2(JSTL核心标签库测试)  
</body>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)
</html>
Struts 1 学习笔记-3-2(JSTL核心标签库测试)

 

5.最后来几张测试结果的截图:Struts 1 学习笔记-3-2(JSTL核心标签库测试)

 

Struts 1 学习笔记-3-2(JSTL核心标签库测试)