`
xkorey
  • 浏览: 153485 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

jsp 自定义标签简单应用

阅读更多
后台类:

package ns.taglib;

import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class arrayListShowTab extends SimpleTagSupport {
// 要显示的arraylist数组
private ArrayList arr;
// arraylist 中对应map要显示的字段名称
private Map map;

public Map getMap() {
return map;
}

public void setMap(Map map) {
this.map = map;
}

public void doTag()throws JspException,IOException
{
try{
Writer out = getJspContext().getOut();
String tabString = "<table border='1' id='tagTab'>";
String td="<tr>";
ArrayList keyList = new ArrayList();
ArrayList valList = new ArrayList();
for(Iterator i = map.keySet().iterator();i.hasNext();){ 
    Object key = i.next(); 
    keyList.add(key.toString());
    Object val = map.get(key); 
    td +="<td>"+val.toString()+"</td>";
    valList.add(val.toString());
}
td += "</tr>";
tabString += td;
for(int i=0;i<arr.size();i++){
String tdInfo ="";
Map mp = (Map) arr.get(i);
for(int t=0;t<keyList.size();t++){
tdInfo += "<td>"+mp.get(keyList.get(t).toString()).toString()+"</td>";
}
tabString += "<tr>"+tdInfo+"</tr>";
}
out.write(tabString);
}catch(Exception e){
e.printStackTrace();
}
}
public ArrayList getArr() {
return arr;
}

public void setArr(ArrayList arr) {
this.arr = arr;
}


}


tld文件:

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

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
                        web-jsptaglibrary_2_0.xsd"
    version="2.0">
      <description>arrTab Demo</description>
    <tlib-version>1.0</tlib-version>
    <jsp-version>2.0</jsp-version>
    <short-name>TagDemo</short-name>
    <uri>/arrTab</uri>
    <tag>
    <!-- 定义标签名 -->
<name>arrTab</name>
<!-- 定义标签处理类 -->
<tag-class>ns.taglib.arrayListShowTab</tag-class>
<!-- 定义标签体为空 -->
<body-content>empty</body-content>
<!-- 配置标签属性: -->
<attribute>
<name>arr</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<attribute>
<name>map</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
    </taglib>

jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="arrtab"  uri="/arrTab"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%
ArrayList arrlist = new ArrayList();
Map map = new HashMap();
map.put("id","1");map.put("name","jim");map.put("sex","boy");map.put("phone","15130189936");map.put("mes","hello world");
arrlist.add(map);
Map mapp = new HashMap();
mapp.put("mes","信息");
mapp.put("id","编号");// 编号
mapp.put("name","姓名");
mapp.put("sex","性别");
mapp.put("phone","电话");

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'tagTs.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>
    <arrtab:arrTab
    arr="<%=arrlist %>"
    map="<%=mapp %>"
    />
  </body>
</html>

参考资料:
http://book.csdn.net/bookfiles/832/10083225007.shtml
分享到:
评论

相关推荐

    jsp 自定义标签实例

    本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现主要依赖于两个核心概念:Tag接口和TagSupport类。`Tag`接口定义了自定义标签必须实现的方法,如`doStartTag()`和`doEndTag()`,它们...

    jsp 自定义标签的使用

    本教程将深入探讨JSP自定义标签的使用,同时结合实例介绍分页和下拉框绑定值的封装。 一、JSP自定义标签基础 1. **定义标签库(Tag Library)**:自定义标签首先需要定义一个TLD(Tag Library Descriptor)文件,它...

    JSP自定义标签学习笔记

    本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际应用。 一、概述 1.1 使用简单标签机制 JSP自定义标签提供了类似HTML标签的语法结构,通过自定义标签,开发者可以封装复杂的Java代码,使得页面...

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

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

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

    在JavaServer Pages (JSP) 开发中,自定义标签库是提高代码可重用性和模块化的重要手段。本文将详细讲解如何利用JSP自定义标签库实现...理解这些文件的作用和相互关系,对于掌握JSP自定义标签库的开发和应用至关重要。

    jsp自定义标签报错的问题

    在使用JSP自定义标签时,开发者可能会遇到一些报错问题,这通常涉及到项目结构、类路径设置或自定义标签的编译与打包方式。在本文中,我们将深入探讨这些问题,以及如何解决“JspException”这个特定异常。 首先,...

    jsp自定义标签编写的分页

    总结来说,通过学习和实践JSP自定义标签,我们可以构建高效、灵活的Web应用程序,比如这里的分页系统,它不仅简化了页面的开发,还增强了系统的扩展性和可维护性。在实际项目中,结合良好的设计原则和最佳实践,...

    JSP自定义标签实例与详细讲解

    本教程将深入探讨JSP自定义标签的实例与详细讲解。 一、JSP自定义标签概述 JSP自定义标签是类似于HTML标签的自定义组件,但它们提供了更强大的功能,可以封装Java代码,提供复杂的业务逻辑。自定义标签通过TLD(Tag...

    jsp2.0 自定义标签和自定标签函数

    在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...

    jsp自定义标签大全.rar

    本资源“jsp自定义标签大全.rar”提供了一套全面的JSP自定义标签的实例和指南,旨在帮助开发者深入理解和应用这一特性。 **JSP自定义标签的基本概念** JSP自定义标签不同于标准动作标签(如&lt;jsp:include&gt;或&lt;jsp:...

    jsp自定义标签库注意事项

    【jsp自定义标签库注意事项】 在Java服务器页面(JSP)开发中,自定义标签库是一种强大的工具,它能够帮助开发者创建可重用的代码片段,提高代码的可读性和可维护性。以下是对JSP自定义标签库的详细解释和使用注意...

    jsp自定义分页标签

    一、JSP自定义标签基础 JSP自定义标签是JSP技术的一部分,它允许开发者创建自己的标签,以扩展HTML或XML文档。这些自定义标签可以封装复杂的Java代码,使JSP页面更加清晰,易于理解和维护。自定义标签由两部分组成:...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    综上所述,“权威实用jsp自定义标签demo,checkbox,radio&gt;”教程旨在帮助开发者掌握如何创建和使用与选择器相关的自定义标签,从而提升JSP开发的效率和质量。通过学习这个教程,你可以了解到自定义标签的核心概念、...

    掌握jsp自定义标签chm版

    本资料"掌握jsp自定义标签chm版"全面讲解了这一核心概念,旨在帮助开发者深入理解和熟练应用JSP自定义标签。 1. **自定义标签概述** JSP自定义标签是扩展JSP功能的一种方式,允许开发者创建自己的标签库,类似于...

    JSP自定义标签动态属性支持

    通过学习和实践这一技术,开发者可以更好地利用JSP自定义标签的灵活性,提高Web应用的开发效率和质量。同时,了解源码和工具的运用也是提升编程技能的关键,这能帮助我们深入理解底层机制,从而编写出更加高效和可靠...

    JSP自定义Table标签demo

    总结起来,"JSP自定义Table标签demo"是一个教育性的示例,它演示了如何利用JSP自定义标签的灵活性和强大功能,来创建复杂且可复用的组件,如动态表格。通过学习和理解这个demo,开发者可以提升自己的JSP开发能力,...

    jsp自定义嵌套标签

    ### jsp自定义嵌套标签:定义与使用详解 在JavaServer Pages(JSP)技术中,自定义标签是扩展其功能的一种强大手段。而自定义嵌套标签,则是在此基础上进一步提升灵活性和重用性的机制。本文将深入探讨自定义嵌套...

    jsp的自定义标签

    总的来说,JSP自定义标签是构建动态Web应用程序的强大工具,它提高了代码的复用性和可维护性。通过理解和熟练掌握自定义标签的使用,开发者可以更好地设计和实现复杂的企业级应用。在实际项目中,可以根据需求选择...

    jsp自定义标签简单实例

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

Global site tag (gtag.js) - Google Analytics