`
午刀十
  • 浏览: 35009 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

自定义JSTL

阅读更多
      自己定义JSTL标签函数,可以大大简化我们在开发中的工作。我们可以定义自己需要的函数,使用也极其方便。
以下通过显示重要等级来看实现步骤:
首先,要新建一个JAVA类,提供方法: TagFunction.java
 package myUtil;    
	import java.util.ArrayList;  
	import java.util.List;  
	// 自定义JSTL函数  
	public class TagFunction {  
	    // 获取重要等级  
         public static List getImportantLevel () {  
	        List importantLevel = new ArrayList();  	          
	        importantLevel .add("全部");  
	        importantLevel .add("重要");  
	        importantLevel .add("一般");  
	        importantLevel .add("低");  	          
	        return importantLevel ;     
	    }     
	}  

其次,要编写tld标签函数注册文件,将之前写的java 类方法注册到tld:tagfunctions.tld
	<?xml version="1.0" encoding="gb2312" ?>  
	  
	<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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"  
	  version="2.0">  	      
	  <tlib-version>1.0</tlib-version>  
	  <short-name>myTag</short-name>  
	  <uri>myTag</uri>  
	    
	  <!-- JSTL自定义函数  获取重要等级 -->  
	  <function>  
	    <name>getImportantLevel</name>  
	    <function-class>myUtil.TagFunction</function-class>  
	    <function-signature>java.util.List getImportantLevel()</function-signature>  
	  </function>  
	</taglib> 

接着还要在web.xml文件中注册刚才创建的tld :
1.	<?xml version="1.0" encoding="UTF-8"?>  
2.	<web-app version="2.5"   
3.	    xmlns="http://java.sun.com/xml/ns/javaee"   
4.	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
5.	    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
6.	    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
7.	  <welcome-file-list>  
8.	    <welcome-file>index.jsp</welcome-file>  
9.	  </welcome-file-list>  
10.	    
11.	  <!—我们添加的代码,注册JSTL函数 -->  
12.	  <jsp-config>  
13.	    <taglib>  
14.	        <taglib-uri>myTag</taglib-uri>  
15.	        <taglib-location>/WEB-INF/tagfunctions.tld</taglib-location>  
16.	    </taglib>  
17.	  </jsp-config>  
18.	    
19.	</web-app> 

然后我们就可以编写jsp进行测试了 :index.jsp
	<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>  
	<!-- 导入jstl标签库 -->  
	<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>  
	<!-- 导入我们自己定义的jstl函数 -->  
	<%@ taglib prefix="myTag " uri="myTag"%>  
	  
	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
	<html>  
	  <head>  
	    <title>自定义JSTL函数</title>  
	  </head>  
	    
	  <body>  
	    重要等级:  
	    <select name="importantLevel">  
	    <option>--请选择重要等级--</option>  
	    <c:forEach items="${ myTag:getImportantLevel()}" var="t">  
	        <option>${t}</option>  
	    </c:forEach>  
	    </select>  
	  </body>  
	</html> 

最后,只要把例子部署到tomcat测试就可以了,结果正确显示重要等级下拉框。
分享到:
评论

相关推荐

    自定义JSTL标签java项目文件

    自定义JSTL标签是JSTL功能的一个扩展,允许开发者根据具体需求创建自己的标签,进一步提升项目的定制化程度。本项目包含的"JAVAEE-1-jstl"压缩包文件,很可能是为了解释如何在Java项目中创建和使用自定义JSTL标签。 ...

    自定义标签和自定义jstl函数的具体项目实现

    在Java Web开发中,自定义标签和自定义JSTL(JavaServer Pages Standard Tag Library)函数是提升代码可复用性和可维护性的重要工具。它们允许开发者创建自己的语义化标签,以替代复杂的Java脚本或者JSP标签,使得...

    自定义jstl

    这里是自定义标签,可以很好的实现一定的功能,大家可以参考着自己写一个

    自定义jstl实现短地址

    NULL 博文链接:https://rubskin.iteye.com/blog/1703808

    JSTL 自定义标签

    在开发自定义JSTL标签时,IDE如Eclipse、IntelliJ IDEA提供了很好的支持,它们可以自动生成TLD文件和标签处理类的模板,简化开发流程。 总的来说,自定义JSTL标签是提升JSP应用可扩展性和可维护性的重要手段。通过...

    jstl实现计算器

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)是一个标准的标签库,它提供了一系列的标签用于简化JSP页面的编程。在这个"jstl实现计算器"的项目中,我们主要关注如何利用JSTL的核心库来创建一个...

    简单的JSTL例子

    ### 知识点二:自定义JSTL标签 在给定的文件中,我们看到一个自定义的JSTL标签`HelloWorldTag`的实现。这个标签继承自`TagSupport`类,这是一个抽象类,提供了实现JSP标签的基本框架。在`doStartTag()`方法中,我们...

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...

    JSTL 开发自定义标签使用的jar

    在这个场景中,我们重点关注的是JSTL的核心标签库以及如何使用自定义标签。 `jstl.jar`是JSTL的核心库,包含了实现JSTL标准标签功能的类和接口。它提供了控制流标签(如if、choose、when、otherwise)、迭代标签...

    JSTL自定义标签实例解析

    **JSTL自定义标签实例解析** JavaServer Pages Standard Tag Library (JSTL) 是一套标准的标签库,用于简化JSP开发。JSTL允许开发者使用预定义的标签来处理常见任务,如迭代、条件判断、XML处理等。本文将深入讲解...

    jstl.jar和standard.jar

    这个库提供了JSTL标签处理的基础设施,比如TagSupport类,它是所有自定义JSTL标签的基类。 **在项目中的使用:** 在项目中使用JSTL和EL时,需要将jstl.jar和standard.jar这两个JAR文件放入WEB-INF/lib目录下。这是...

    jstl 自定义标签

    JSTL自定义标签允许开发者扩展标准标签库的功能,满足特定需求。自定义标签由三部分组成:标签库描述符(TLD),标签处理类(Tag Handler Class)以及标签体(Tag Body)。 1. **标签库描述符(TLD)**:这是一个XML...

    jstl自定义标签,自定义EL表达式

    这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便

    mybatis自定义分页标签

    在MyBatis中,自定义JSTL标签可以让我们在页面上直接调用分页功能,无需在每个Controller中都写分页逻辑。下面我们将分几个步骤来创建这个自定义分页标签: 1. **创建自定义标签库**:首先,我们需要创建一个自定义...

    JSTL自定义EL表达式

    本资源主要讲解了如何在JSTL中定义和使用自定义的EL表达式,这对于提高JSP页面的可读性和可维护性至关重要。 首先,理解JSTL的基础概念。JSTL由几个核心标签库组成,如fmt、fn、sql、xml等,它们提供了处理日期和...

    springMVC.zip

    springMVC+maven+ztree+自定义jstl标签+sitemesh装饰 http://localhost:8080/mvc/index.jsp 显示ztree index2.jsp sitemesh装饰与自定义jstl标签

    jstl自定义标签和函数思维导图

    jstl自定义标签和函数思维导图

    JSTL JSP 自定义标签 分页

    jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...

    JSP解决中文乱码的办法

    自定义JSTL标签可以帮助我们更方便地处理中文乱码问题,以下是一个简单的步骤: - **编写自定义标签库的XML描述文件(taglib.xml)**,定义标签及其属性。 - **创建JSP标签文件(*.tag)**,实现具体的转换逻辑,...

Global site tag (gtag.js) - Google Analytics