`

tag文件与tag标记,java自定义标签

    博客分类:
  • JSTL
 
阅读更多

在目录:’Web服务器\WEB-INF\tags‘ 下创建存放xxx.tag的tag文件

demo:

    jsp页面:

 

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!--
使用<taglib>指令标记引入该Web服务目录下的标记库,只有这样,JSP页面才可以使用Tag标记调用相应的Tag文件。<taglib>指令的格式如下:
    <%@ taglib tagdir="自定义标记库的位置" prefix="前缀"> 
-->
<%@taglib tagdir="/WEB-INF/tags" prefix="beijing" %>
<%@taglib tagdir="/WEB-INF/tags/geng" prefix="dalian" %>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body bgcolor="cyan">
        <h3>以下是调用Tag文件的效果:</h3>
        <beijing:AddSum />
        <h3>以下是调用Tag文件的效果:</h3>
        <dalian:EvenSum />
    </body>
</html>

 tag文件

 

 

<%@ tag language="java" pageEncoding="UTF-8"%>
<p>这是一个Tag文件,负责计算1~100内的奇数之和:</p>
<%   int sum=0, i=1;
     for(i=1;i<=100;i++)
     {  if(i%2==1)
        sum=sum+i;
     }
	 out.println(sum); 
%>

 

<%@ tag language="java" pageEncoding="UTF-8"%>
<p>这是一个Tag文件,负责计算1~100内的偶数之和:</p>
<%  int sum=0;
	int i=1;
    for(i=1;i<=100;i++){  
    	if(i%2==0){
	       sum=sum+i;
    	}
    }	
    out.println(sum); 
%>

 

<body bgcolor="yellow"><p>
    <%
       int size=1;
       for(int i=1;i<=3;i++)
        {
           size=size+1;          
    %>
        <font size="<%=size %>">
             <!--一下的代码表示页面的文字将传入进来-->
             <jsp:doBody />
         </font>
       <% }%>
       <p>
</body>

 较复杂的tag文件,仅供参考:

 

 

<%@ tag import="com.mip.core.util.MipConfig"%>
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@tag import="com.mip.core.security.objects.Loginer,com.mip.core.basebiz.view.web.controller.control.grid.vo.JqgridParam,java.util.List,java.util.Map,java.util.HashMap,java.util.Map.Entry,com.mip.common.dictionary.service.impl.DictionaryServiceImpl,com.mip.core.basebiz.dto.DataRecord"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="mip" tagdir="/WEB-INF/tags" %>
<%-- 必填字段 --%>
<%@ attribute name="divId" required="true"%>
<%@ attribute name="colName" fragment="true" description="在mip:column中定义"%>
<%@ attribute name="cols" fragment="true" description="在mip:column中定义"%>
<%@ attribute name="url" description="表格列表数据请求URL地址" required="true"%>

<%-- 可选字段 --%>
<%@ attribute name="sortname"  description="表格排序的列"%>
<%@ attribute name="idColumn" description="主键字段名称"%>
<%@ attribute name="pager" description="表格底部页脚id,如果为空,没有页脚,没有翻页"%>
<%@ attribute name="pagerWithContent" description="表格底部通用查询、刷新、收缩/展开搜索栏是否带文字,
默认为false不带,true的时候追加文字"%>

<%@ attribute name="caption" description="表格的名字"%>
<%@ attribute name="rowNum" description="默认为20 整型数字"%>
<%@ attribute name="sortorder" description="排序方式"%>
<%@ attribute name="filterToolbar" description="顶部搜索栏true|false"%>
<%@ attribute name="filterToolbarSearchType" description="顶部搜索栏搜索类型,默认为bw(以XX开头),
	可选值:eq,ne,bw,bn,cn,nc,ew,en,nu,nn 对应的意思:'相等','不等', 
	'开始于', '不开始于','like %%','not like %%', '结束于','不结束于','为空','不为空'] "%>
<%@ attribute name="toggleFilterToolbar" description="在底部增加隐藏/显示顶部搜索栏的按钮"%>
<%@ attribute name="edit" description="是否显示编辑按钮 true|false"%>
<%@ attribute name="add" description="是否显示新增按钮 true|false"%>
<%@ attribute name="del" description="是否显示删除按钮 true|false"%>
<%@ attribute name="editurl" description="增删改存储地址url"%>
<%@ attribute name="initEdit" description="进入表格之后就初始化列为可编辑状态,默认为false,为true时生效"%>

<%@ attribute name="rownumbers" description="是否显示行数 true|false"%>
<%@ attribute name="width" description="表格宽度   
	此字段废弃,所有表格都会取自己父容器的宽度,如果要设置该表格的宽度,使用div或其他标签抱住表格,然后设置父容器的宽度"%>
<%@ attribute name="autowidth" description="是否自动调整宽度为父级的宽度true|false,
	此字段废弃,所有继承系统模板的jsp页面中的表格都会自适应宽度为父容器的宽度"%>
<%@ attribute name="noautowidth" description="是否自动调整宽度为父级的宽度true|false,
	此字段废弃,所有继承系统模板的jsp页面中的表格都会自适应宽度为父容器的宽度"%>
<%@ attribute name="height" description="表格高度"%>
<%@ attribute name="multiselect" description="多选框"%>
<%@ attribute name="multiboxonly" description="默认为true只有选择checkbox时才选中此行,设置false时点击记录时就会选中此行"%>
<%@ attribute name="singleselect" description="单选框"%>
<%@ attribute name="gridComplete" description="表格完成之后的回调"%>
<%@ attribute name="onSelectRow" description="选择某行之后触发的事件,方法声明原型onCellSelect(rowid,status)"%>
<%@ attribute name="onCellSelect" description="点击单元格触发的实际,
	要把edit属性设置为false,否则不起作用.方法声明原型onCellSelect(rowid,iCol,cellcontent,event)"%>
<%@ attribute name="autoComplete" description="true|false 为true时打开列搜索的自动匹配    已废弃"%>
<%@ attribute name="tableName" description="自动匹配的表名称,在头部搜索栏的自动设值中会用到"%>
<%@ attribute name="rownumbersClick" description="序号点击时触发的js函数名字,调用时会传递当前行的rowid"%>
<%@ attribute name="shrinkToFit" description="自动调整表格的列宽度适应表格整体宽度,默认为true,
自动调整后的宽度为:(列当前设置宽度/所有列设置的宽度 )*表格的宽度
当表格列较多时设置为false时使用列自己指定的宽度数值,此参数主要针对列较多的情况"%>

<%@ attribute name="isKeepParam" description="是否在返回时保持表格参数 ,默认为保存,"%>

<!-- 分组参数 -->
<%@ attribute name="grouping" description="分组显示 true|false 默认false 分组显示时不会自动生成序号"%>
<%@ attribute name="groupField" description="分组列的Field名字,多个用,隔开,分组显示时的必填项"%>
<%@ attribute name="groupColumnShow" description="是否显示分组的列 true|false,默认是false,多个使用,隔开"%>
<%@ attribute name="groupText" description="显示的分组标题格式"%>
<%@ attribute name="groupCollapse" description="默认是否展开,默认是true"%>
<%@ attribute name="groupOrder" description="分组显示 排序方式  asc|desc 默认desc"%>

<!-- 树参数 -->
<%@ attribute name="treeGrid"  description="是否包含树节点"%>
<%@ attribute name="expandColClick" description="是否点击时打开"%>
<%@ attribute name="expandColumn" description="父节点列名称"%>
<%@ attribute name="jqOption" description="自定义jqgrid对象"%>
<%@ attribute name="setFrozenColumns" description="是否冻结表头,默认为false, bug如果设置了单选,多选冻结表头都会不正常,跟他的实现机制有关,如果单元格出现换行表头会无法对其"%>

<%@ attribute name="userDataOnFooter" description="汇总"%>
<%@ attribute name="footerrow" description="汇总"%>
<%@ attribute name="gridview" description="加快表格解析速度,默认为true,注意,如果使用treeGrid, subGrid and afterInsertRow (event)那么需要把gridview设为false"%>

<c:if test="${empty pagerWithContent}">
<c:set var="pagerWithContent" value="true" /><%-- 设置默认值 --%>
</c:if>

 

 

 

 

 

 

Tag文件中经常使用的指令有:

               tag、taglib、include、attribute、variable

Tag指令的语法如下:

              <%@  tag 属性1="属性值" 属性2="属性值"  … 属性n="属性值" %>

Tag指令可以操作的属性有:

              body-content、language、import、pageEncoding。

 

 

例如:

<%@ tag import="com.mip.core.util.MipConfig"%>

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

<%@ attribute name="colName" fragment="true" description="在mip:column中定义"%>

 

分享到:
评论

相关推荐

    标记库,tag实例,java技术

    在Java技术中,标记库通常以TLD(Tag Library Descriptor)文件的形式存在,这些文件描述了标签的行为、属性和事件处理。 标记库的使用大大提高了JSP页面的可维护性和可重用性,因为它们将业务逻辑和视图层分离。...

    Tag文件与Tag标记

    【Tag文件与Tag标记】是网站开发设计中的一个重要概念,主要应用于Java服务器页面(JSP)技术中,用于实现自定义标签库。Tag文件是一种特殊类型的文本文件,它们以`.tag`为扩展名,功能类似于JSP文件,但用户无法...

    Java自定义标签 教程

    Java自定义标签是JSP开发中的一个重要特性,它允许开发者扩展JSP页面的功能,通过创建自己的标签库来封装复杂逻辑或常见操作。本教程将详细讲解如何创建和使用自定义标签。 首先,JSP中的标签库是实现自定义功能的...

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

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

    创建JSP自定义标签.doc

    这两个类由JSP容器提供,它们包含处理JSP页面与自定义标签之间交互所需的方法。选择继承哪个基类取决于标签是否需要处理内部内容(body)。如果标签需要包含内容,比如`&lt;c:forEach&gt;`,则应继承`BodyTagSupport`;...

    JSP自定义标签学习笔记

    自定义标签通常由三部分组成:标签处理类、TLD(Tag Library Descriptor)文件和标签库导入声明。标签处理类负责处理标签逻辑,TLD文件描述了标签的元数据,如标签名称、属性、事件等,而导入声明则将标签库引入到...

    java自定义注解\标签库\监听\junit简单测试

    Java自定义注解是Java平台...以上就是关于Java自定义注解、标签库、监听器和JUnit简单测试的知识点概述。这些技术是构建可扩展、可维护的Java应用程序的关键组成部分,理解并熟练运用它们能够提升代码质量和开发效率。

    java自定义分页标签

    public int doStartTag() throws JspException { HttpServletRequest request; // 是TagSupport类中定义的一个属性,它是javax.servlet...当然其原因是我们的简单日期标记没有正文。 return Tag.SKIP_BODY; }

    JSP扩展——自定义标签

    在JavaServer Pages (JSP)技术中,...标记处理类负责处理标签的逻辑,而TLD文件提供了元数据,将自定义标签与处理类关联起来。这个过程使得开发者可以创建具有特定功能的可重用组件,增强JSP页面的灵活性和可维护性。

    Java数据库连接池与简单自定义标签

    2. 创建TLD(Tag Library Descriptor)文件:这是描述自定义标签库的元数据,包含标签的名称、属性、关联的处理类等信息。 3. 引入TLD到JSP页面:在JSP页面中通过`&lt;%@ taglib %&gt;`指令引入TLD,使得页面可以使用...

    JSP自定义标签详解

    4. 标签处理类(Tag Handle Class):处理类是Java类,通常继承自TagSupport或实现了SimpleTag接口,负责实现自定义标签的功能。 二、自定义JSP标签的格式: 1. 使用自定义标签需要指定标签库的前缀(Prefix),前缀...

    自定义JSP标签

    在实际开发中,自定义JSP标签常常与Servlet容器中的标签库实现结合,如Apache的Catalina和Tomcat中的JSTL(JavaServer Pages Standard Tag Library)。JSTL提供了一套标准的标签,如`&lt;c:forEach&gt;`和`...

    jsp自定义带属性的标签

    在TLD文件中,你需要为每个自定义标签定义一个`&lt;tag&gt;`元素,并在其中指定`&lt;name&gt;`、`&lt;tag-class&gt;`和`&lt;attribute&gt;`等子元素。 6. **在JSP页面中使用自定义标签**:最后,在JSP页面中使用`&lt;%@ taglib %&gt;`指令导入标签...

    jsp自定义标签,structs2 JUNIT,structs2自定义拦截器

    要创建自定义标签,我们需要定义一个标签处理类,然后在TLD(Tag Library Descriptor)文件中注册这个类,最后在JSP页面上使用自定义标签。这样,开发者可以将HTML和Java代码分离,遵循MVC(Model-View-Controller)...

    JSP标签,采用web.xml引入标签库描述文件

    1. **标签库描述文件(TLD, Tag Library Descriptor)**:这是一个XML文件,定义了自定义标签的元数据,包括标签名称、属性、返回类型等。例如,一个简单的TLD可能包含如下内容: ```xml &lt;taglib xmlns="http://...

    JSP之自定义标记示例程序

    自定义标记的概念是基于XML的思想,通过自定义标签库(Tag Library)来实现,它使得代码更加结构化,易于维护,同时降低了视图层与业务逻辑的耦合度。 首先,我们要理解自定义标记的工作原理。在JSP中,自定义标记...

    自定义标签 防止重复提交

    自定义标签通过TLD(Tag Library Descriptor)文件进行定义,描述了标签的属性、行为和关联的Java类。 1. **TLD文件详解**: TLD文件是XML格式,用于声明自定义标签的元数据。它包含以下关键元素: - `&lt;tag&gt;`:...

    将定制标签库开发为标记文件

    在Java Web开发中,自定义标签库(Custom Tag Library)是一种强大的工具,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。这篇博客文章“将定制标签库开发为标记文件”深入探讨了如何创建自己的标签库...

    自定义(jsp)标签

    4. **部署标签库**:将自定义标签打包成 `.jar` 文件,并配置相应的 `tld` 文件。 5. **使用标签**:在JSP页面中引入标签库,并使用自定义标签。 #### 六、总结 自定义标签为JSP页面带来了极大的灵活性和可扩展性...

    JSP应用开发-自定义标签的使用.pptx

    每个标签库都通过一个TLD(Tag Library Descriptor)文件来描述,这个文件是XML格式,包含了标签的元数据,如标签名称、对应的Java类、属性等。 **3. 标签处理类** 每个自定义标签对应一个Java类,这个类负责处理...

Global site tag (gtag.js) - Google Analytics