现在使用的许多开源框架中都提供了大量的标签库供我们使用.但是在实际应用中总会出现我们需要但暂时无法找到或者没有提供的一些标签.所以我们可以学习下一些jstl一些标签和函数的定义.
对于自定义标签的定义这里有个博客已经详细了讲解了
http://hanxin830311.iteye.com/blog/208486
这文章对于一些操作流程和解析都已经够我们初步建立自己的标签足够使用了.
而自定义标签我觉得使用的场景还没自定义函数多.因为函数可能是我们自己所写的一些类的方法操作需要在页面中操作之类的.我自己项目中也是使用到了自定义函数(简单的使用)
1.开发自己需要使用的自定义函数.
package com.jstl.function;
//随便一个类.顶一个可以传输参数的方法就可以
public class HelloWordFunction {
public static String hello(String name) {//注意方法的定义.要是静态的方法才能被jstl作为标签使用.
return "hello"+name;
}
}
如何想使用spring赋值的话.只需要定义
private static AclService aclService;
不过get.set.注意不要使用static不然spring依赖注入将无效果.
spring只需要配置
<bean id="aclService" class="包路径.AclServiceImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="helloWordFunction " class="HelloWordFunction路径">
<property name="aclService" ref="aclService"></property>
</bean>
2.定义jstl函数标签
在WEB-INF文件夹下编写my.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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<!--指定该标签库实现的版本,这是一个作为标识的内部版本号,对程序没有太大的用-->
<tlib-version>1.0</tlib-version>
<!--该标签库的默认短名,该名称通常也没有太大的用处。-->
<short-name>my</short-name>
<!--这个属性非常重要,它指定该标签库的URI,相当于指定该标签库的唯一标识。如上斜体字代码所示,JSP页面中使用标签库时就是根据该URI属性来定位标签库的-->
<uri>http://www.changtu.com/check/functions</uri>
<function>
<description>say hello world</description><!-- 对这个EL方法的描述 -->
<name>hello</name><!--EL页面调用名字-->
<function-class>com.jstl.function.HelloWordFunction</function-class><!--指定标签的处理类,指定了标签由哪个Java类来处理。-->
<function-signature>java.lang.String hello(java.lang.String)</function-signature><!--指定EL页面调用名字中实际调用的方法.指定处理类的实际方法.参数和回调函数要写完整路径-->
</function>
</taglib>
3.在页面中进行调用
因为在使用中在页面之间使用my.tld中uri的话.将有时候无法找到.所以在web.xml中需要配置下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
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-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- -->
<jsp-config>
<taglib>
<taglib-uri>http://www.changtu.com/myfunctions</taglib-uri>
<taglib-location>/WEB-INF/my.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
访问页面index.jsp
<%@ page pageEncoding="gb2312" contentType="text/html; charset=gb2312"%>
<%@ taglib prefix="my" uri="http://www.changtu.com/myfunctions" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>check</title>
</head>
<body>
<c:out value="${my:hello(world)}"></c:out>
</body>
</html>
如果不配置web.xml的话.可以使用<%@ taglib prefix="my" uri="="/WEB-INF/myfunctions" %>
总结:对于这个函数的自定义在开发中使用起来配置起来也不难.在一些应用中操作起来非常方便.也使得开发可以更加灵活.减少Action中代码量。对于自定义标签和函数在定义中可以更加了解到各个框架标签的意义.
下一篇文章可能写dojo树和dtree一些简单使用.dwr的一些问题
分享到:
相关推荐
每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
**正文** JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化...通过学习和实践这些内容,开发者可以更加熟练地在JSP页面中运用JSTL标签,提升Web应用的开发质量和效率。
### JSTL标签教程知识点详解 #### 一、JSTL简介 - **定义**:JSP标准标签库(JSTL,JavaServer Pages Standard Tag Library)是一种为简化JSP页面开发而设计的标准标签库。它提供了一系列预定义的标签,用于执行...
API JAR通常包含的是编译时所需的类和接口,开发者在编写JSP页面时会依赖这些接口来使用JSTL标签。例如,`fmt`, `fn`, `c`, `sql`, 和 `tags`等核心库的接口都在这个JAR中。 2. **JSTL Implementation (jstl-impl-...
而`standard.jar`则是另一个关键组件,它是JSTL的依赖,提供了EL(Expression Language)和JSTL共同使用的Java API,如Javax.servlet.jsp.jstl.core库,这些API为JSTL标签提供了支持。 **2. 引入JSTL到项目中:** ...
JSTL标签库极大地简化了JSP页面的编写,使代码更易读,更易于维护。通过正确配置和使用JSTL,你可以创建出更高效、更结构化的Web应用程序。在实际项目中,结合EL的使用,可以进一步提高代码的可读性和可维护性。
JSTL(JavaServer Pages Standard Tag Library)是一个用于JSP的标准标签库,它提供了一系列预定义的标签,简化了常见的编程任务,如控制流程、输出处理、URL管理和数据操作等。JSTL的核心标签库(Core Library)是...
**JSTL(JavaServer Pages Standard Tag Library)标签库**是Java Web开发中常用的一种工具,它为JSP页面提供了一...这份"JSTL标签课件PPT"无疑会为学习者提供宝贵的资源,帮助他们更好地理解和运用这些重要的技术。
总之,JSTL通过提供一系列预定义的标签,使JSP开发者能够更专注于业务逻辑,而不是底层的HTML和Java代码,从而提升开发效率和代码质量。正确配置和熟练使用JSTL,对于提升Java Web项目的质量和可维护性具有重要意义...
### JSTL标签库:构建高效动态网页的关键 JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)是一种专为简化JavaServer Pages(JSP)开发而设计的标准化标签库。它提供了一系列预定义的标签...
1. **jstl-api-1.2.jar**:这是JSTL的API接口定义,包含了所有JSTL标签库的接口和抽象类。开发人员在编写JSP页面时需要导入这个包,以便使用JSTL提供的各种标签。这个包不包含实际的实现,而是为编译时类型检查和...
`jstl.jar` 包含了JSTL的主要实现,包括核心标签库(Core)、XML标签库(XML)和函数库(Functions)。核心标签库提供了如迭代、条件语句、URL重写等功能;XML标签库则支持XML处理,如XPath表达式;函数库则提供了...
通过EL,JSTL标签可以更方便地引用和操作页面作用域、请求作用域等范围内的对象。 8. **性能与优化** 尽管JSTL提高了代码的可读性,但相比直接的Java代码,其执行效率可能略低。因此,在性能敏感的场景下,需要...
在本文中,我们将深入探讨JSTL的两个核心包以及JSTL标签库和EL(Expression Language)表达式的应用。 **1. JSTL的核心包:** - **jstl-1.2.jar**:这是JSTL的主要库,包含了JSTL的API接口和实现。它提供了一组...
JSTL,全称为JavaServer Pages Standard Tag ...使用JSTL标签库时,还需要在JSP页面上引入对应的标签库。例如,引入JSTL的核心库和EL库: ```jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> ...
【JSTL标签库】是Java服务器页面(JSP)中的一种重要工具,它旨在增强HTML表单的功能,规范自定义标签的使用,以适应软件开发的分层设计原则,避免在JSP页面中混杂Java逻辑代码。JSTL(JavaServer Pages Standard ...
- **提高可读性**:JSTL标签比JSP脚本和表达式更易读,更符合HTML的结构。 - **增强可维护性**:分离表现层和业务逻辑,便于团队协作和代码维护。 - **减少Java代码**:避免在JSP页面中编写Java代码,降低出错概率。...
在Java Web开发中,自定义标签和自定义JSTL(JavaServer Pages Standard Tag Library)函数是提升代码可复用性和可维护性的重要工具。它们允许开发者创建自己的语义化标签,以替代复杂的Java脚本或者JSP标签,使得...
【JSTL标签库】是Java服务器页面(JSP)的一种标准标签库,由Sun Microsystems公司发布,旨在简化JSP页面的开发。JSTL提供了一系列预定义的标签,用于处理常见的任务,如数据输出、流程控制、循环、XML处理、国际化...