`
fenghaodouluo
  • 浏览: 4405 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于自定义标签的开发说明

阅读更多

自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介:

自定义标签主要用于移除Jsp页面中的java代码。
移除jsp页面中的java代码,只需要完成两个步骤:
编写一个实现Tag接口的Java类继承SimpleTagSupport,并覆盖doTag方法,把jsp页面中的java代码写到doTag方法中,目的是使用该方法来控制标签页面。
编写标签库描述符(tld)文件,在tld文件中对自定义标签进行描述。
完成以上操作,即可在JSP页面中导入和使用自定义标签。

 

 

JAVA部分代码:

public class TestTaglib extends SimpleTagSupport{

private Long columnSize;

 

private String titles;

 

@Override

public void doTag() throws JspException, IOException {

JspFragment bodyContent = getJspBody();

//bodyContent.invoke(null);

 

//1、利用StringWriter得到标签体的内容

StringWriter sw = new  StringWriter();

bodyContent.invoke(sw);

//2、把标签体的内容全部变成大写

String context = sw.toString().toUpperCase();

 

//3、获取jsp的隐含对象out,将内容输出到页面上

getJspContext().getOut().println(context);

}

 

public Long getColumnSize() {

return columnSize;

}

 

public void setColumnSize(Long columnSize) {

this.columnSize = columnSize;

}

 

public String getTitles() {

return titles;

}

 

public void setTitles(String titles) {

this.titles = titles;

}

 

 

 

 

 

 

}

 

 

tld文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>

<tlibversion>1.2</tlibversion>

<jspversion>1.1</jspversion>

<shortname>myLib</shortname>

<uri>http://struts.apache.org/tags-html</uri>

<tag>

<name>testJspFragment</name>   <!-- 标签对应的名称 -->

<tagclass>com.umsdc.tag.TestTaglib</tagclass> <!-- 标签对应的类 -->

<bodycontent>scriptless</bodycontent>

 

<!-- 三个属性 -->

<attribute>

<name>columnSize</name>  <!-- columnSize属性 -->

<required>true</required>  <!-- 是否必须项 -->

<rtexprvalue>true</rtexprvalue>

</attribute>

<attribute>

<name>titles</name>

<required>true</required>

<rtexprvalue>true</rtexprvalue>

</attribute>

<attribute>

<name>data</name>

<required>false</required>

<rtexprvalue>true</rtexprvalue>

</attribute>

</tag>

</taglib>

 

 web.xml部分配置

   <jsp-config>

      <taglib>

         <taglib-uri>www.sjcj.com/taglib/core</taglib-uri>

         <taglib-location>/WEB-INF/my-taglib.tld</taglib-location>

      </taglib>

   </jsp-config>

  

 

jsp部分的使用:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%@taglib uri="www.sjcj.com/taglib/core" prefix="sj" %>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<!--

<link rel="stylesheet" type="text/css" href="styles.css">

-->

  </head>

  

  <body>

      <sj:testJspFragment columnSize="12" titles="hellojsp">I am a Chinesase ,I love  my motherland </sj:testJspFragment>

  </body>

 

</html>

 

 

 

注意事项:名称需要对应好,标签中如果存在属性,那么java文件必须中必须配置相应属性的set()和get()

属性存在的必须性是在xxxx.tld中进行控制的。

分享到:
评论

相关推荐

    html自定义标签的使用

    7. **最佳实践**:在开发自定义标签时,遵循一些最佳实践可以提高代码质量。例如,使用短横线分隔的标签名(如`&lt;my-component&gt;`而不是`&lt;mycomponent&gt;`),提供有意义的标签描述,以及使用注释文档说明标签的用途和...

    强大的自定义标签分页,内有说明

    在Java Web开发中,自定义标签(Custom Tags)是JSP的一种扩展机制,它允许开发者创建自己的标签库,以提高代码的可读性和复用性。自定义标签的实现通常包括一个或多个Java类(Tag Handler)和一个XML文件(TLD, Tag...

    jsp自定义标签库实现数据列表显示

    在JavaServer Pages (JSP) 开发中,自定义标签库是提高代码可重用性和模块化的重要手段。本文将详细讲解如何利用JSP自定义标签库实现数据列表的显示,以及涉及到的相关技术。 首先,`UserListTag.java` 是自定义...

    自定义标签说明例题下载

    在Java Web开发中,自定义标签(Custom Tags)是一种强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。自定义标签可以看作是JSP中的用户定义函数,它们可以封装复杂的逻辑或者视图呈现,从而...

    JSP自定义标签之日期显示

    在Java服务器页面(JSP)开发中,自定义标签是一种扩展JSP功能的强大方式,它允许我们封装复杂的逻辑或重复使用的代码片段,提高代码的可读性和可维护性。本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过...

    jsp自定义标签例子,能在Tomcat下直接运行

    总之,JSP自定义标签是提高JSP开发效率和代码复用性的重要工具,通过创建和使用自定义标签,我们可以构建出更加模块化、易于维护的Web应用程序。结合Tomcat这样的Servlet容器,可以快速地部署和测试这些自定义组件。

    ThinkPHP 2.1 自定义标签示例说明.pdf

    ### ThinkPHP 2.1 自定义标签示例解析与应用 #### 一、自定义标签的概念 在ThinkPHP框架中,自定义标签是用于扩展模板功能的一种机制,...熟练掌握自定义标签的使用,对于提高开发效率和提升项目质量具有重要意义。

    java+web自定义标签的开发与应用源码整理

    在本资料包中,我们将深入探讨如何开发和应用这些自定义标签,以及如何通过源码学习和理解其工作原理。 首先,我们要理解自定义标签的基本概念。自定义标签是JSP页面的一种扩展,它们将复杂的业务逻辑或视图逻辑...

    掌握jsp自定义标签chm版

    在JavaServer Pages (JSP) 技术中,自定义标签是实现页面逻辑和视图分离、增强代码可重用性和提高开发效率的关键工具。本资料"掌握jsp自定义标签chm版"全面讲解了这一核心概念,旨在帮助开发者深入理解和熟练应用JSP...

    java自定义标签 可运行

    而`讲义.txt`可能包含了关于如何使用这个自定义标签的详细说明,包括如何配置、如何在JSP页面中调用,以及任何特定的属性和行为。 在实际开发中,自定义标签可以用于实现复杂的功能,如数据的格式化、业务逻辑的...

    自定义tld标签库源码加视频

    【自定义TLD标签库源码加视频】这个主题涵盖了Java服务器端开发中的一个重要概念——自定义标签库(Tag Library)及其源代码分析。在Java Web应用开发中,TLD(Tag Library Descriptor)文件用于定义自定义JSP标签,...

    java自定义标签的开发与应用.doc

    Java自定义标签的开发与应用主要涉及到JSP(JavaServer Pages)技术的扩展能力,允许开发者根据特定需求创建自己的标签库。在JSTL(JavaServer Pages Standard Tag Library)提供的核心、国际化、数据库和XML标签库...

    java+hibernate+jsp+tld+自定义标签分页

    本项目结合了Java、Hibernate、JSP以及TLD(Tag Library Descriptor)技术,实现了一个高效、易懂且实用的自定义标签分页解决方案。下面我们将详细探讨这些技术以及它们在分页中的应用。 首先,Java作为后端编程...

    自己开发的一个生成多级select的自定义标签

    标题中的“自己开发的一个生成多级select的自定义标签”是指在编程中创建了一个自定义HTML标签,这个标签能够帮助开发者生成多级选择下拉菜单(即多级联动的SELECT元素)。在Web开发中,这样的功能常用于组织结构、...

    jsp自定义标签简单实例

    以下是一个关于"jsp自定义标签简单实例"的详细说明。 1. **自定义标签概述** 自定义标签是JSP 1.2版本引入的新特性,它允许开发者创建符合XML语法规则的自定义标签库,这些标签库可以包含一系列具有特定功能的标签...

    jsp自定义标签库问答集锦.

    ### jsp自定义标签库知识点详解 #### 一、什么是jsp自定义标签? 1. **概念**:JSP 自定义标签是一种将复杂的功能封装成一个简单的标签的方式,它允许开发者创建可重用的代码组件,这些组件可以在 JSP 页面中像...

    自定义标签

    以下是对自定义标签的详细说明: **1. 自定义标签的概念** 自定义标签是JSP(JavaServer Pages)技术的一部分,它是JSP标准标签库(JSTL)的一个扩展。通过自定义标签,开发者可以将HTML与Java代码分离,实现更清晰...

Global site tag (gtag.js) - Google Analytics