- 浏览: 188259 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. jsp自定义标签
1) jsp自定义没有属性标签
2) jsp自定义有属性标签
3) jsp自定义有标签体的标签
4) 简单标签
1) jsp自定义没有属性标签
HelloWorldTag.java package com.andrew.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class HelloWorldTag extends TagSupport { @Override public int doStartTag() throws JspException { JspWriter out = this.pageContext.getOut(); try { out.println("自定义标签你好!"); } catch (IOException e) { e.printStackTrace(); } return TagSupport.SKIP_BODY; // 直接结束标签 } } andrew.tld <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> <short-name>andrewTag</short-name> <tag> <name>helloWorld</name> <tag-class> com.andrew.tag.HelloWorldTag </tag-class> <body-content>empty</body-content> </tag> </taglib> helloWorldTag.jsp <%@ taglib prefix="andrew" uri="/WEB-INF/andrew.tld" %> <andrew:helloWorld/> http://localhost:8080/HeadFirstJspServletChap07/helloWorldTag.jsp 运行结果: 自定义标签你好!
2) jsp自定义有属性标签
HelloWorldTag2.java package com.andrew.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class HelloWorldTag2 extends TagSupport { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int doStartTag() throws JspException { JspWriter out = this.pageContext.getOut(); try { out.println(name + "自定义标签你好!"); } catch (IOException e) { e.printStackTrace(); } return TagSupport.SKIP_BODY; // 直接结束标签 } } andrew.tld <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> <short-name>andrewTag</short-name> <tag> <name>helloWorld2</name> <tag-class> com.andrew.tag.HelloWorldTag2 </tag-class> <body-content>empty</body-content> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib> helloWorldTag2.jsp <%@ taglib prefix="andrew" uri="/WEB-INF/andrew.tld" %> <andrew:helloWorld2 name="JspServlet屌炸天"/> http://localhost:8080/HeadFirstJspServletChap07/helloWorldTag2.jsp 运行结果: JspServlet屌炸天自定义标签你好!
3) jsp自定义有标签体的标签
IterateTag.java package com.andrew.tag; import java.util.Iterator; import java.util.List; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class IterateTag extends TagSupport { private String var; private String items; private Iterator iter; // getter and setter @Override public int doStartTag() throws JspException { Object value = this.pageContext.getAttribute(items); if (value != null && value instanceof List) { this.iter = ((List) value).iterator(); if (iter.hasNext()) { this.pageContext.setAttribute(var, iter.next()); return TagSupport.EVAL_BODY_INCLUDE; // 执行标签体 } else { return TagSupport.SKIP_BODY; // 退出标签执行 } } else { return TagSupport.SKIP_BODY; // 退出标签执行 } } @Override public int doAfterBody() throws JspException { if (iter.hasNext()) { this.pageContext.setAttribute(var, iter.next()); return TagSupport.EVAL_BODY_AGAIN; // 再执行一次标签体 } else { return TagSupport.SKIP_BODY; // 退出标签执行 } } } andrew.tld <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> <short-name>andrewTag</short-name> <tag> <name>iterate</name> <tag-class> com.andrew.tag.IterateTag </tag-class> <body-content>JSP</body-content> <attribute> <name>var</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>items</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib> iterateTag.jsp <%@ page import="java.util.*" %> <%@ taglib prefix="andrew" uri="/WEB-INF/andrew.tld" %> <% List people=new ArrayList(); people.add("王小一"); people.add("王小二"); people.add("王小三"); pageContext.setAttribute("people", people);%> </head> <body> <andrew:iterate items="people" var="p"> <h2>${p }</h2> </andrew:iterate> </body> http://localhost:8080/HeadFirstJspServletChap07/iterateTag.jsp 运行结果: 王小一 王小二 王小三
4) 简单标签
IterateSimpleTag.java package com.andrew.tag; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; import javax.servlet.jsp.tagext.TagSupport; public class IterateSimpleTag extends SimpleTagSupport { private String var; private String items; // getter and setter @Override public void doTag() throws JspException, IOException { Object value = this.getJspContext().getAttribute(items); if (value != null && value instanceof List) { Iterator iter = ((List) value).iterator(); while (iter.hasNext()) { this.getJspContext().setAttribute(var, iter.next()); this.getJspBody().invoke(null); // 响应页面 } } } } andrew.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> <short-name>andrewTag</short-name> <tag> <name>iterate2</name> <tag-class> com.andrew.tag.IterateSimpleTag </tag-class> <body-content>scriptless</body-content> <attribute> <name>var</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>items</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib> iterateSimpleTag.jsp <%@ page import="java.util.*" %> <%@ taglib prefix="andrew" uri="/WEB-INF/andrew.tld" %> <% List people=new ArrayList(); people.add("王小一"); people.add("王小二"); people.add("王小三"); pageContext.setAttribute("people", people); %> </head> <body> <andrew:iterate2 items="people" var="p"> <h2>${p }</h2> </andrew:iterate2> </body> http://localhost:8080/HeadFirstJspServletChap07/iterateSimpleTag.jsp 运行结果: 王小一 王小二 王小三
发表评论
-
jsp标准标签库
2019-01-09 00:02 4471. jsp标准标签库 1) JSTL引入(JSP Stan ... -
el表达式
2019-01-09 00:01 5221. el表达式 1) EL表达式 ... -
Servlet开发
2019-01-09 00:01 3271. Servlet开发 1) servlet引入 H ... -
javaBean组件
2019-01-09 00:01 4431. javaBean组件 0) 不使用Javabean组件 ... -
jsp四个作用域及九个内置对象
2019-01-08 09:06 4601. jsp四个作用域 在Jsp开发中,可以保存数据,J ... -
jsp基础语法
2019-01-08 09:06 3731. page指令 language:用来定义要使用的脚 ... -
jsp概述
2019-01-08 09:06 3591. jsp概述 jsp: java server pa ... -
Java web页面form提交重定向sendRedirect到web页面
2018-12-23 11:03 1093Java web实现jsp页面的form表单提交sendRed ... -
Java web页面form提交请求转发forward到web页面
2018-12-23 11:02 980Java web实现jsp页面的form表单提交forward ... -
Java web页面form调用servlet显示
2018-12-17 09:41 702Java web使用jsp页面的form表单调用servlet ... -
Java web地址栏url调用servlet显示
2018-12-17 09:41 723通过Http请求调用servlet直接显示 1. 创建一个类 ... -
Java web页面form提交到web页面
2018-12-17 09:40 708Java web实现jsp页面的form表单提交到jsp页面 ...
相关推荐
本教程将深入探讨JSP自定义标签的使用,同时结合实例介绍分页和下拉框绑定值的封装。 一、JSP自定义标签基础 1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它...
本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现主要依赖于两个核心概念:Tag接口和TagSupport类。`Tag`接口定义了自定义标签必须实现的方法,如`doStartTag()`和`doEndTag()`,它们...
在JSP自定义标签的例子中,我们可以看到这个压缩包文件可能包含了一个完整的示例项目,可以在Apache Tomcat这样的Servlet容器下直接运行。Apache Tomcat是一款开源的Servlet容器,广泛用于部署和运行Java Web应用...
本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际应用。 一、概述 1.1 使用简单标签机制 JSP自定义标签提供了类似HTML标签的语法结构,通过自定义标签,开发者可以封装复杂的Java代码,使得页面...
在使用JSP自定义标签时,开发者可能会遇到一些报错问题,这通常涉及到项目结构、类路径设置或自定义标签的编译与打包方式。在本文中,我们将深入探讨这些问题,以及如何解决“JspException”这个特定异常。 首先,...
本文将详细讲解如何利用JSP自定义标签库实现数据列表的显示,以及涉及到的相关技术。 首先,`UserListTag.java` 是自定义标签的核心类,它继承了`javax.servlet.jsp.tagext.TagSupport` 或 `javax.servlet.jsp....
首先,我们要理解JSP自定义标签的概念。自定义标签是JSP的一种扩展机制,它允许开发者创建自己的标签库,以更加清晰和可维护的方式编写页面。自定义标签的实现通常涉及三个主要部分:标签库描述符(TLD)、标签处理...
本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过自定义标签来优雅地处理日期格式化和展示。 首先,我们要理解JSP自定义标签的基本概念。自定义标签是JSP的一种扩展,它不是Java内置的标签,而是由开发者...
综上所述,“权威实用jsp自定义标签demo,checkbox,radio>”教程旨在帮助开发者掌握如何创建和使用与选择器相关的自定义标签,从而提升JSP开发的效率和质量。通过学习这个教程,你可以了解到自定义标签的核心概念、...
综上所述,JSP自定义标签提供了一种强大的机制,使得JSP开发者能够创建定制的、可重用的代码片段,提升Web应用的开发效率和质量。通过理解和熟练运用自定义标签,开发者可以更好地组织和管理JSP项目,实现更高效的...
本教程将深入探讨如何利用JSP自定义标签来编写一个灵活、可扩展的分页系统,该系统不依赖于特定的数据库,具有很高的通用性。 首先,理解JSP自定义标签的工作原理至关重要。自定义标签由三部分组成:标签库描述符...
【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...
使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...
首先,我们需要理解JSP自定义标签的基本结构。自定义标签通常由两部分组成:标签库描述符(TLD)和标签处理类。TLD文件定义了标签的名称、属性、行为等元数据,而标签处理类则实现了这些行为,处理由JSP页面传递过来的...
jsp自定义标签jsp自定义标签jsp自定义标签jsp自定义标签
本资源“jsp自定义标签大全.rar”提供了一套全面的JSP自定义标签的实例和指南,旨在帮助开发者深入理解和应用这一特性。 **JSP自定义标签的基本概念** JSP自定义标签不同于标准动作标签(如<jsp:include>或<jsp:...
本教程将深入探讨JSP自定义标签的实例与详细讲解。 一、JSP自定义标签概述 JSP自定义标签是类似于HTML标签的自定义组件,但它们提供了更强大的功能,可以封装Java代码,提供复杂的业务逻辑。自定义标签通过TLD(Tag...
本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用自定义标签库的基本步骤。 1. 基本概念: - **标签**:JSP标签是XML元素,用于简化JSP页面,使其更易读且支持多语言版本。标签名和属性区分...