`
foreverke01
  • 浏览: 37731 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

jstl的几个标签

    博客分类:
  • JSTL
阅读更多

还是用代码说明:

jstlAction.java:

package com.keith.jstl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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;

import com.keith.taglibs.Group;
import com.keith.taglibs.User;

public class JstlAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 字符串
		request.setAttribute("hello", "hello JSTL");

		// HTML文本
		request.setAttribute("keith", "<font color='red'>keith</font>");

		// 测试条件语句
		request.setAttribute("v1", 1);
		request.setAttribute("v2", 2);
		request.setAttribute("v3", new ArrayList());
		request.setAttribute("v4", "keith V4");

		// 对象数组
		Group group = new Group();
		group.setGroupName("keith");

		// 测试foreach
		List userList = new ArrayList();
		for (int i = 0; i < 10; i++) {
			User u = new User();
			u.setName("USER_" + i);
			u.setAge(10 + i);
			u.setGroup(group);
			userList.add(u);
		}
		request.setAttribute("userList", userList);

		// 测试循环输出map
		Map map = new HashMap();
		map.put("k1","v1");
		map.put("k2","v2");
		request.setAttribute("mapValue", map);
		
		//测试c:forTokens
		request.setAttribute("strTokens","1,2,3,4,5,6,7,8,9");
		return mapping.findForward("jstl");
	}

}

 struts-config.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
	
	<action-mappings>
		<action path="/jstl"
				type="com.keith.jstl.JstlAction">
			<forward name="jstl" path="/jstl.jsp"></forward>
		</action>
		
	</action-mappings>
	<message-resources parameter="MessageResources" />
</struts-config>

 jstl.jsp:首先指定标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

 <body> </body>里:

	<body> 
		c:out测试 
		<hr color="orange">
		hello(JSTL_default):<c:out value="${hello}" /><br>
		hello(EL_default):${hello }<br>
		default(123):<c:out value="${abc}" default="123" /><br><!-- 找不到abc的值,这时的default就有了作用 -->
		keith(c:out输出):<c:out value="${keith}" /><br>
		keith(escapeXml="flase"):<c:out value="${keith}" escapeXml="flase"/><br>
		keith(escapeXml="true"):<c:out value="${keith}" escapeXml="true"/><br>
		keith(EL输出):${keith}
		
		<hr>
		c:set/remove测试
		<hr color="orange">
		<c:set var="set1" value="keithSET" /><br>
		set1:${set1 }<br>
		<c:remove var="set1"/><br>
		set1:${set1 }<br>
		<hr>
		
		c:if:条件控制
		<hr color="orange">
		<c:if test="${v1 lt v2}" var = "v">
			v1小于v2<br/>
			${v }<br/>
		</c:if>
		<c:if test="${empty v3}">
			v3为空<br/>			
		</c:if>
		<c:if test="${empty v4}">
			v4为空<br/>			
		</c:if>
		<hr>
		
		测试C:choose,c:when,c:otherwise
		<hr color="orange">
		<c:choose>
			<c:when test="v1 lt v2">
				v1小于v2<br/>				
			</c:when>
			<c:otherwise>
				v1不小于v2<br/>
			</c:otherwise>
		</c:choose>
		<c:choose>
			<c:when test="${empty v4}">
				v4为空<br/>
			</c:when>
			<c:otherwise>
				v4不为空<br/>				
			</c:otherwise>
		</c:choose>
		<hr>
		<h4>测试c:forEach</h4>
		<table >
			<tr>
				<td>姓名</td>
				<td>年龄</td>
				<td>组</td>
			</tr>
			<c:choose>
				<c:when test="${empty userList}">
					<tr>
						<td colspan="3">没有符合条件的数据!</td>
					</tr>
				</c:when>
				<c:otherwise>
					<c:forEach items="${userList}" var="user" varStatus="vs">
						<c:choose>
							<c:when test="${vs.count % 2 == 0 }">
								<tr bgcolor="orange">
							</c:when>
							<c:otherwise>
								<tr>		
							</c:otherwise>
						</c:choose>
								<td>
									<c:out value="${user.name}"></c:out>
								</td>
								<td>
									<c:out value="${user.age}"></c:out>
								</td>
								<td>
									<c:out value="${user.group.groupName}"></c:out>
								</td>
								
					</c:forEach>
				</c:otherwise>
			</c:choose>
		</table>
		<hr>
		<h3>测试循环控制标签c:forEach,begin,end,step</h3>
		<table>
			<tr>
				<td>姓名</td>
				<td>年龄</td>
				<td>组名</td>
			</tr>
			<c:choose>
				<c:when test="${empty userList}">
					<tr>
						<td colspan="3">没又符合的数据</td>
					</tr>
				</c:when>
				
				<c:otherwise>
					<c:forEach items="${userList}" var="user" begin="2" end="5" step="2">
						<tr>
							<td>${user.name }</td>
							<td>${user.age }</td>
							<td>${user.group.groupName }</td>
						</tr>						
					</c:forEach>
				</c:otherwise>
			</c:choose>
		</table>
		<p></p>
		<hr>
		<h4>测试循环控制标签 c:foreach 普通循环</h4>
		<c:forEach begin="1" end="5">
			a<br/>
		</c:forEach><br>
		<h4>测试循环控制标签c:forEach,输出map</h4>
		<c:forEach items="${mapValue}" var="v">
			${v.key } = ${v.value }<br/>					
		</c:forEach>
		
		<h4>测试循环控制标签c:forTokens,用于有符号的表达式</h4>
		<c:forTokens items="${strTokens}" delims="," var="v">
			${v }<br/>
		</c:forTokens>
		<h4>测试c:catch</h4>
		<%
			try{
				Integer.parseInt("keith");
			}catch(Exception e){
				out.println(e.getMessage());
			}
		 %>
		 <p></p>
		 <c:catch var="exinfo"><!--  获取异常变量 -->
		 	<%
		 		Integer.parseInt("keith");
		 	 %>
		 </c:catch>
		 ${exinfo }<br/><!-- 输出异常变量 -->
		<li>测试:redirect:直接跳转;context项目名称;url跳转的页面</li><br>
		<c:redirect context="/struts_test" url="/index.jsp"/>
	</body>
 
0
0
分享到:
评论

相关推荐

    JSTL标签库依赖,内含Tomcat8、Tomcat10所需JSTL依赖

    **配置JSTL**的步骤通常包括以下几个部分: 1. 添加JSTL库:将JSTL的JAR文件(如`jstl.jar`和`standard.jar`)放入项目WEB-INF/lib目录下,或者如果使用Maven或Gradle,将依赖添加到构建文件中。 2. 引用JSTL库:...

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JSTL 标签库的使用可以分为以下几个方面: 1. 循环输出数据:JSTL 的 foreach 标签可以用于循环输出数据。 例如:${emplist}"&gt; 循环输出 emplist 集合中的数据 2. 条件判断:JSTL 的 if 标签可以用于条件判断。 ...

    jstl标签库的配置

    **配置JSTL标签库**通常涉及以下几个步骤: 1. **添加依赖**:在项目中,你需要引入JSTL相关的jar文件。对于Maven项目,可以在pom.xml中添加如下依赖: ```xml &lt;groupId&gt;javax.servlet.jsp.jstl &lt;artifactId&gt;...

    JSTL标准标签库

    JSTL主要由几个不同的标签库组成,包括核心标签库、SQL标签库、XML标签库以及函数标签库。 1. **核心标签库 (Core Tags):** 这个库定义了`cc.tld`,包含了用于常见任务的标签,如数据管理、流程控制和输出。主要...

    自定义JSTL标签java项目文件

    自定义JSTL标签的创建涉及到以下几个步骤: 1. **创建Tag Handler类**:这是处理自定义标签逻辑的Java类,需要继承自`javax.servlet.jsp.tagext.TagSupport`或`javax.servlet.jsp.tagext.SimpleTagSupport`。在这个...

    JSTL的c标签的用法.doc

    下面我们将详细探讨`c`标签库的几个主要标签。 1. `&lt;c:set&gt;`:这个标签用于设置一个变量。例如,你可以将一个值赋给一个特定的范围(如page、request、session或application)。以下是一个例子: ```jsp ``` ...

    JSTL核心标签库的jar包

    在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `&lt;c:if&gt;`:用于执行条件判断,可以根据指定的条件执行不同的代码块。 - `&lt;c:choose&gt;`, `&lt;c:when&gt;`, `...

    JSTL标签库jar包

    `jstl.jar`**: 这个文件包含了JSTL的主要标签库实现,包括以下几个部分: - **Core Taglib**: 提供了一系列基础控制流标签,如条件语句(`&lt;c:if&gt;`, `&lt;c:choose&gt;`)、迭代(`&lt;c:forEach&gt;`, `&lt;c:forTokens&gt;`)、URL操作...

    JSTL标签库及使用方法

    在JSTL中,主要包含以下几个核心标签库: 1. **Core标签库 (c:)** - 提供了基本的控制结构,如迭代和条件语句。 2. **Format标签库 (fmt:)** - 用于日期、时间、数字格式化和国际化。 3. **Function标签库 (fn:)** ...

    jstl标签jar包

    JSTL标签库包括核心标签、XML处理标签、SQL标签和函数标签等几大类,覆盖了网页开发中的常见操作。 在JSP页面中使用JSTL,首先需要将对应的jar包添加到项目的类路径(classpath)中。这里提供的“jstl标签jar包”...

    jstl标签库与使用教程

    JSTL由几个核心组件组成,主要包括Core、Format、Function、I18N和SQL等标签库。其中: - Core库提供了基本的控制流标签,如条件判断、循环等。 - Format库则负责国际化和格式化功能,如日期和数字的格式化。 - ...

    JSTL标签课件PPT

    它包括几个主要的标签库,如Core、XML、I18N&Format和Function,覆盖了数据处理、控制流、国际化和函数等多个领域。 2. **Core库** Core库是JSTL中最基础的部分,提供了类似于Java中的流程控制结构,例如条件语句...

    JSTL 标签库下载

    JSTL主要由以下几个核心部分组成:Core、XML、JDBC和Function。 在提供的压缩包`jakarta-taglibs-stard-current.rar`中,我们找到了两个关键的jar文件:`jstl.jar`和`standard.jar`。这两个文件在JSTL的使用中起着...

    JSTL 自定义标签

    JSTL由几个核心部分组成,包括Core、XML、Internationalization (i18n)、Function和Expression Language (EL)。其中,Core库是最常用的部分,包含了处理页面导航、条件语句、循环等基本操作的标签。 **创建自定义...

    jstl标签库jar包、例子、jstl中文帮助文档

    JSTL主要由以下几个核心模块组成: - **Core**:提供了基本的控制结构,如条件语句和循环。 - ** fmt**:用于格式化日期、数字和消息。 - **i18n**:支持国际化和本地化。 - **sql**:用于执行SQL查询和数据库操作。...

    JSTL标准标签库的应用

    JSTL(JavaServer Pages Standard Tag Library)是一个开放源代码的JSP标签库,由Apache的Jakarta项目组进行维护。JSTL的设计目标是简化Web应用程序的开发过程,通过提供一系列功能丰富的标签来减少JSP页面中的脚本...

    jstl标签库jar包

    JSTL主要由以下几个核心模块组成: - **Core**: 提供基本的控制结构,如循环、条件语句、URL操作等。 - **Format**: 处理日期、时间、数字的格式化,支持国际化。 - **I18N**: 国际化和本地化支持。 - **XML**: ...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    自定义标签的开发主要涉及以下几个步骤: 1. **创建TLD文件**:TLD(Tag Library Descriptor)文件是描述标签库的元数据文件,它定义了标签的名字、属性、返回类型等信息。例如: ```xml &lt;tlib-version&gt;1.0 ...

    jstl标签jar包(jstl-api-1.2和jstl-impl-1.2)

    它包括核心库(core)、SQL库(sql)、XML库(fmt、func、tagext)等几个部分,分别对应不同的功能。 **JSTL的核心库(core)**: - `&lt;c:set&gt;`:设置变量。 - `&lt;c:out&gt;`:输出变量值,可以进行简单的HTML转义。 - `...

Global site tag (gtag.js) - Google Analytics