- 浏览: 153448 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
fddjxllren:
session.find()是不支持动态绑定参数的.要使用it ...
Hibernate查询之list/iterator -
xiaofeiyang:
http://svn.apache.org/repos/asf ...
struts,hibernate,spring 版本控制svn的URL地址 -
peterxiemin:
emp在建立的时候,报无效的月份,为什么 ?
oracle的练习表---employee -
java_bigniu:
...
Hibernate查询之list/iterator -
lanhai921:
学习下,谢谢分享。
itext基本用法
开发一个迭代标签,此标签只可以对list进行迭代(学习)。
IterateTag.java:
package com.keith.tag; import java.util.Iterator; import java.util.List; import javax.servlet.jsp.JspException; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.TagSupport; public class IterateTag extends TagSupport { // 属性名称 private String name; // 属性保存范围 private String scope; // 每次迭代的对象 private String id; // 所以接受到的数据 private Iterator<?> iter; @Override public int doStartTag() throws JspException { Object value = null; // 是否是page范围 if ("page".equals(this.scope)) { value = super.pageContext .getAttribute(name, PageContext.PAGE_SCOPE); } else if ("request".equals(this.scope)) { // 是否是request范围 value = super.pageContext.getAttribute(name, PageContext.REQUEST_SCOPE); } else if ("session".equals(this.scope)) { // 是否是session范围 value = super.pageContext.getAttribute(name, PageContext.SESSION_SCOPE); } else { // 是否是application范围 value = super.pageContext.getAttribute(name, PageContext.APPLICATION_SCOPE); } //如果是List接口的实例 if (value != null && value instanceof List<?>) { //像List接口进行向下转型 this.iter = ((List<?>) value).iterator(); if (iter.hasNext()) { super.pageContext.setAttribute(id, iter.next()); //执行标签体内容 return TagSupport.EVAL_BODY_INCLUDE; }else{ //退出标签执行 return TagSupport.SKIP_BODY; } } else { //不是List接口实例,不处理 //退出标签执行 return TagSupport.SKIP_BODY; } } @Override public int doAfterBody() throws JspException { //判断是否还有内容 if (iter.hasNext()) { super.pageContext.setAttribute(id, iter.next()); //重复执行标签体 return TagSupport.EVAL_BODY_AGAIN; }else{ //退出标签执行 return TagSupport.SKIP_BODY; } } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getScope() { return scope; } public void setScope(String scope) { this.scope = scope; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Iterator<?> getIter() { return iter; } public void setIter(Iterator<?> iter) { this.iter = iter; } }
iteratetag.tld:
<?xml version="1.0" encoding="UTF-8"?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <!-- 标签库的版本 --> <tlib-version>1.0</tlib-version> <!-- 为标签苦在TLD中的描述名称 --> <short-name>iteratetag</short-name> <tag> <!-- 表示标签在JSP中的使用名称 --> <name>iterate</name> <!-- 表示这个标签所这项的Class --> <tag-class>com.keith.tag.IterateTag</tag-class> <!-- 标签体内容为空 --> <body-content>JSP</body-content> <attribute> <!-- format为属性名 --> <name>id</name> <!-- 表示此值必须设置 --> <required>true</required> <!-- 表示属性值是请求时表达式的结果 --> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <!-- format为属性名 --> <name>name</name> <!-- 表示此值必须设置 --> <required>true</required> <!-- 表示属性值是请求时表达式的结果 --> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <!-- format为属性名 --> <name>scope</name> <!-- 表示此值必须设置 --> <required>true</required> <!-- 表示属性值是请求时表达式的结果 --> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
web.xml:
<taglib> <taglib-uri>iterate</taglib-uri> <taglib-location>/WEB-INF/iteratetag.tld</taglib-location> </taglib>
index.jsp:
<%@ page import="java.util.*" %> <%@ taglib prefix="iteratetag" uri="iterate"%> <body> <% List<String> all = new ArrayList<String>(); all.add("java"); all.add("linux"); all.add("C"); request.setAttribute("all",all); %> <iteratetag:iterate name="all" scope="request" id="url"> ${url }<br /> </iteratetag:iterate> </body>
发表评论
-
JSTL标签之XML标签库,函数标签库
2011-01-20 13:14 0在JSTL中可提供了用于XML解析的操作,这样可以减少 ... -
JSTL常用标签之大聚集---下
2011-01-20 10:17 1388JSTL国际化标签库: 其主要标签如下: NO ... -
JSTL常用标签之大聚集---中
2011-01-20 08:52 991<c:forEach>标签: 主要 ... -
JSTL常用标签之大聚集---上
2011-01-17 22:53 1094JSTL已经被继承到了javaEE ... -
jsp标签编程『续』---简单开发
2011-01-17 16:03 1387在jsp1.2之前如果想要对标签库进行开发,要么继承Ta ... -
jsp标签编程『下』---TagSupport类
2011-01-17 10:11 2838掌握基本的标签定义后,可以发现定义标签时都需要继承TagSup ... -
jsp标签编程『中』---定义有属性的标签
2011-01-17 09:13 999定义一个日期标签,则用户就必须指定格式化日期的格式; Dat ... -
jsp标签编程『上』---编写标签
2011-01-16 21:30 10691,什么是JSP标签库? JSP标签库(自定义标签 ... -
javaWeb之表达式语言---初始EL
2011-01-16 08:55 10011,何为表达式语言(Expression Language,E ... -
监听器实例之---在线人员统计
2011-01-15 17:30 0当用户成功登录后,会在列表中增加此用户名称,这样就可 ... -
jsp/servlet之监听器
2011-01-15 16:05 16091,什么是监听器? 其主要的功能就是监听Web ... -
jsp/servlet之过滤器
2011-01-15 14:03 10971,什么是过滤器(filter)? 它是以一种 ... -
MVC之实例操作---MVC设计模式应用
2011-01-15 09:18 3979MVC的第一个实例-----一个登陆: 首先我们需要一个VO ... -
javaWeb之MVC模式
2011-01-13 23:11 1404javaWeb引入了servlet概念 ... -
javaWeb之Servlet跳转
2011-01-13 22:53 1851servlet跳转分为:客户端跳转和服务器端跳转; 客户端 ... -
javaWeb之Servlet
2011-01-13 22:22 1508使用jsp可以完成动态的web开发,但是在开发时发现大量的代码 ... -
javaBean实例之注册验证
2011-01-13 14:29 3123首先定义Bean: package com.keith.be ... -
javaWeb之JavaBean
2011-01-13 13:47 12521,什么是JavaBean? ... -
jsp之阶段性总结
2011-01-13 08:53 8991,web安全性! 在web目录中必须存在一个&q ... -
jsp值application
2011-01-12 22:34 11291,什么是application? application对 ...
相关推荐
以下是关于`<c:forEach>`、`<c:out>`、`<c:set>`和`<c:remove>`这四个JSP标签的详细解释。 1. `<c:forEach>`:这是JSP中的迭代标签,用于遍历集合或数组。它可以在HTML或其他内容中重复渲染一段代码。例如,如果你...
7. **JSTL(JavaServer Pages Standard Tag Library)**:是一套标准的标签库,提供了处理常见任务如迭代、条件判断、XML处理等功能,旨在减少JSP页面中的脚本代码。 8. **Servlet**:虽然不是JSP的一部分,但与之...
在Java Web开发中,标签(Tags)是一种强大的工具,它使得...在提供的"Java Web编程-高级-标签.ppt"和"Java Web编程-高级-标签-例子"中,你将找到更多关于这些概念的详细解释和示例代码,帮助你更好地掌握这一领域。
它包括核心标签、JDBC标签、XML标签等多个部分,可以实现条件判断、迭代、数据库操作等功能。 **JSP的高级特性**: 1. **页面指令的自定义属性**:允许开发者扩展JSP页面的行为,例如定制错误处理、引入自定义标签...
EL提供简洁的方式来访问和操作JSP中的数据,而JSTL则包含了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、XML处理等。 实战部分,本教程会提供大量实例,涵盖JSP与数据库的连接、文件上传下载、用户...
在JSP标签开发中,源码通常指的是Tag Handler Class的实现,这需要一定的Java编程基础。而工具可能包括IDE插件(如Eclipse或IntelliJ IDEA的JSP支持)、TLD生成器以及版本控制工具(如Git)等,这些工具能帮助开发者...
JSTL是一组标准标签库,提供了一系列标签来处理常见的任务,如迭代、条件判断、XML处理等,提高了代码的可读性和可维护性。 8. **Servlet与JSP的关系** JSP最终会被翻译成Servlet,Servlet是JSP的后台处理引擎。...
6. **JSTL(JavaServer Pages Standard Tag Library)**:一套标准的JSP标签库,提供用于处理常见任务的标签,如迭代、条件语句、XML处理等,以减少脚本的使用。 7. **Servlet与JSP的关系**:JSP本质上是Servlet的...
**第四章 JSP编程** JavaServer Pages(JSP)是Java平台上的一个重要组成部分,它是一种动态网页开发技术,主要用于创建交互式的、数据驱动的Web应用。JSP在1999年由Sun Microsystems推出,旨在简化Java Web应用的...
- 适当使用JSP标签,提高代码复用性。 - 合理利用内置对象,避免过度依赖session。 通过上述"jsp编程实例"的学习,开发者可以更好地理解和掌握JSP技术,从而创建功能丰富的、高性能的Web应用程序。实践是学习的...
**JSP标签库(JSP Tag Libraries)与JSTL** JSP标签库是JavaServer Pages技术的一个重要组成部分,它允许开发者使用预定义的标签来增强HTML或XML文档的可读性和可维护性。这些标签通常封装了复杂的业务逻辑或者常见...
JSP标签库是JSP技术的重要组成部分,它们是一系列预定义的、可复用的代码片段,用于简化页面开发过程,提高开发效率。本文将深入探讨JSP标签库的原理、使用方法及如何自定义标签。 #### JSP标签库的核心价值 JSP...
综上所述,JSP编程是构建动态Web应用的重要技术,通过理解JSP的基础概念、工作原理以及与相关技术的结合,开发者能够更好地掌握Web应用的开发。通过深入学习如JSP高级编程这样的资料,开发者可以进一步提升在JSP领域...
- JSTL简化了JSP代码,提供了处理迭代、条件、XML、函数等功能的标签。 - EL简化了数据访问,允许在JSP页面中直接访问作用域内的对象。 - 动作元素如jsp:include、jsp:forward和jsp:params用于控制页面流程。 5....
### JSP经典例子教程-100例 ...JSP标签库(JSTL)提供了许多预定义的标签,可以简化常见的编程任务,如条件处理、迭代等。下面的示例展示了如何使用`c:out`标签来输出文本: ```jsp ;charset=GB2312" %> ...
总结起来,学习和熟练使用JSP的简单标签是Web开发中必不可少的步骤,它可以帮助开发者快速构建动态网页,同时保持代码的清晰和整洁。通过深入理解内置标签的功能,以及如何创建和使用自定义标签,可以提升JSP编程的...
7. **自定义标签**:创建自定义的JSP标签,增强代码复用性。 8. **异常处理**:学习如何在JSP中捕获和处理异常。 9. **国际化**:实现多语言支持,为不同地区的用户提供本地化服务。 10. **安全机制**:理解如何进行...
**JSP(Java Server Pages)WEB编程指南** JSP(Java Server Pages)是Java平台上的一个服务器端技术,用于创建动态网页。它结合了HTML、Java代码和Java Servlet技术,使得开发者可以在网页上嵌入Java代码,从而...
在JSP页面中,Java标签库扮演着至关重要的角色,它允许开发者使用预先定义好的标签执行各种操作,例如数据输出、流程控制、迭代处理以及异常处理等。 JSP自带的核心标签库中,包含了许多用于简化Web开发的标签。...
在JSP中,开发者可以将HTML代码与Java代码混合编写,但最佳实践推荐使用JSP标签库(如JSTL)来减少脚本的使用,提高可维护性。 1. **JSP元素:** JSP有五种基本元素,包括指令(directives)、声明(declarations)...