`

编写jstl函数

    博客分类:
  • cms
 
阅读更多

1)

函数

package cn.com.leadfar.cms.site;

import javax.servlet.jsp.PageContext;

import cn.com.leadfar.cms.backend.dao.ArticleDao;
import cn.com.leadfar.cms.backend.dao.ChannelDao;
import cn.com.leadfar.cms.backend.model.Article;
import cn.com.leadfar.cms.backend.model.Channel;
import cn.com.leadfar.cms.backend.view.InitBeanFactoryServlet;
import cn.com.leadfar.cms.utils.BeanFactory;

public class SiteFunction {
	
	/**
	 * 根据频道ID得到频道
	 * @param pc
	 * @param channelId
	 * @return
	 */
	public static Channel findChannelById(PageContext pc,String channelId){
		BeanFactory factory = (BeanFactory)pc.getServletContext().getAttribute(InitBeanFactoryServlet.INIT_FACTORY_NAME);
		ChannelDao cd = (ChannelDao)factory.getBean("channelDao");
		return cd.findChannelById(Integer.parseInt(channelId));
	}
	
	/**
	 * 根据文章ID得到Article对象
	 * @param pc
	 * @param articleId
	 * @return
	 */
	public static Article findArticleById(PageContext pc,String articleId){
		BeanFactory factory = (BeanFactory)pc.getServletContext().getAttribute(InitBeanFactoryServlet.INIT_FACTORY_NAME);
		ArticleDao articleDao = (ArticleDao)factory.getBean("articleDao");
		return articleDao.findArticleById(Integer.parseInt(articleId));
	}
}

 

2)

tld

2)

cms.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>cms</short-name>
  <uri>http://www.leadfar.org/cms/site/function</uri>

  <function>
    <description>
      本函数的主要作用是通过频道的ID查询频道的有关信息
    </description>
    <name>channel</name>
    <function-class>cn.com.leadfar.cms.site.SiteFunction</function-class>
    <function-signature>cn.com.leadfar.cms.backend.model.Channel findChannelById(javax.servlet.jsp.PageContext, java.lang.String)</function-signature>
    <example>
       ${cms:channel(channelId)}
    </example>
  </function>
  <function>
    <description>
      本函数的主要作用是通过文章的ID查询文章的有关信息
    </description>
    <name>article</name>
    <function-class>cn.com.leadfar.cms.site.SiteFunction</function-class>
    <function-signature>cn.com.leadfar.cms.backend.model.Article findArticleById(javax.servlet.jsp.PageContext, java.lang.String)</function-signature>
    <example>
       ${cms:article(articleId)}
    </example>
  </function>
</taglib>

  3)

引入

<%@ taglib prefix="cms" uri="http://www.leadfar.org/cms/site/function" %>      

 4)

调用

${cms:channel(pageContext,param.channelId).name }

分享到:
评论

相关推荐

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

    下面将详细探讨如何实现自定义标签和自定义JSTL函数。 **自定义标签** 自定义标签通常由两个部分组成:标签库描述文件(TLD, Tag Library Descriptor)和标签处理类。TLD定义了标签的元数据,如标签名称、属性、...

    JSTL.rar_JSTL_JSTL下载

    JSTL的主要目标是提高JSP页面的可读性和可维护性,减少在页面中直接编写Java脚本的需要,从而使得页面更加简洁,更易于理解。 **JSTL的核心组件** 1. **Core标签库**:提供了一系列与页面控制流相关的标签,例如`...

    jstl自定义函数[文].pdf

    下面我们将详细探讨JSTL自定义函数的开发步骤、使用方法以及JSTL提供的标准函数。 首先,开发自定义函数主要分为以下几步: 1. **创建Java类**:你需要定义一个Java类,该类包含你需要在EL表达式中调用的静态方法...

    JSTL标签库 api

    本文将深入探讨JSTL的核心标签库、数据库标签库、I18N格式化标签库、XML标签库和JSTL函数标签库,帮助开发者掌握这些标签的使用方法。 #### JSTL核心标签库:基础与变量管理 JSTL的核心标签库是JSTL中最常用的库之...

    JSTL官方使用手册

    JSTL函数库(fmt)提供了处理日期、数字、字符串等类型的函数,如`&lt;fmt:formatDate&gt;`、`&lt;fmt:parseNumber&gt;`等,便于在JSP页面上进行格式化操作。 **4. JSTL SQL库** SQL库(sql)允许在JSP页面中执行SQL查询,如`...

    jstl标签jar包(jstl-api-1.2和jstl-impl-1.2)

    开发人员在编写JSP页面时需要导入这个包,以便使用JSTL提供的各种标签。这个包不包含实际的实现,而是为编译时类型检查和依赖管理提供接口定义。 2. **jstl-impl-1.2.jar**:这是JSTL的实现库,包含了实现JSTL API...

    JSTL相关Jar包(jstl+standard)

    JSTL,全称为JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它提供了一系列的标签来简化JSP开发,使开发者能够更高效地编写动态网页。JSTL的主要目标是减少在JSP页面中使用脚本元素,提升...

    jstl-jar包

    在JSTL中,`jstl.jar`包包含了所有核心的JSTL标签实现,包括控制流标签、函数标签、I/O标签等。这个库使得开发者能够在JSP页面上执行条件检查、循环、异常处理、XML处理、国际化等操作,极大地提高了代码的结构化...

    jstl核心jar包

    3. **编写JSTL标签**:在JSP页面中使用引入的标签,如`&lt;c:if&gt;`、`&lt;c:forEach&gt;`等,来替代传统的Java脚本。 **JSTL的优势:** 1. **代码分离**:JSTL使得业务逻辑和视图层的分离更加明确,提高了代码的可读性。 2. ...

    jstl标签 fn函数注解

    此外,在使用JSTL时,我们还需要了解EL表达式中的运算符,这对于编写复杂的逻辑表达式非常有帮助。 #### 1. 算术运算符 - `+`、`-`、`*`、`/`、`%`、`div`、`mod` - 示例: ```jsp ${a + b} // 加法 ${a * b} ...

    jstl的两个jar包

    JSTL,全称JavaServer Pages Standard Tag Library,是JavaServer Pages(JSP)标准标签库,它提供了一系列标签来简化JSP页面的编写,使页面逻辑更清晰,代码更简洁。在Java Web开发中,JSTL经常与EL(Expression ...

    JSTL标签配置文件

    2. **JSTL函数库(Function Library)** 提供了额外的函数,可以与核心标签库一起使用,例如字符串操作、数字转换等。 3. **JSTL SQL标签库** 支持数据库查询和操作,包括执行SQL查询、处理结果集等。 4. **JSTL...

    standard.jar和jstl.jar

    JSTL是Java Web开发中的重要工具,它通过提供一系列预定义的标签和函数,简化了JSP页面的编写,提高了代码的可读性和可维护性。`standard.jar`和`jstl.jar`这两个文件是使用JSTL的基石,它们包含了JSTL的核心功能。...

    jstl and standard_JSTL_

    而`jstl.jar` 包含了其他的标签库,比如SQL库(用于数据库操作)、XML库(用于XML处理)和函数库(Function Library)等。 1. **JSTL Core Library**:这是JSTL的基础,提供了许多与控制流相关的标签。例如: - `...

    jstl-1.1.0.jar和jstl-1.2.0.jar

    这些标签帮助开发者避免在JSP页面中编写过多的Java脚本,使页面更易读,更符合MVC(Model-View-Controller)设计模式。例如,`&lt;c:forEach&gt;`标签可以用来遍历集合,`&lt;fmt:formatDate&gt;`可以格式化日期。 **JSTL 1.2.0...

    jstl-impl-1.2.jar.rar_ jstl-impl-1.2.jar _jstl-impl-1.2_jstl-imp

    4. JSTL Functions:提供了额外的函数库,这些函数可以与JSP EL(Expression Language)一起使用。 5. fmt:处理国际化和本地化,提供日期、时间、数字格式化等功能。 描述中的"java web jsp开发eclipse工具包"表明...

    jstl源码jstl学习

    **JSTL(JavaServer Pages Standard Tag Library)**是Java Web开发中的一种标准标签库,它为JSP页面提供了一套方便使用的标签,使得开发者能够更高效地编写动态网页。JSTL的主要目标是减少在JSP页面中的脚本代码,...

    jstl1.2标签库jar包

    API JAR通常包含的是编译时所需的类和接口,开发者在编写JSP页面时会依赖这些接口来使用JSTL标签。例如,`fmt`, `fn`, `c`, `sql`, 和 `tags`等核心库的接口都在这个JAR中。 2. **JSTL Implementation (jstl-impl-...

    JSTL标签 参考手册

    总的来说,JSTL标签库是Java Web开发中不可或缺的一部分,它通过提供一套标准化的标签和函数,使得开发者能够更高效、更优雅地编写JSP页面,减少了对Java脚本的依赖,提升了代码的可读性和可维护性。对于想要深入...

    jstl标签.rar

    通过使用JSTL,开发者可以避免在JSP页面上编写过多的Java脚本,使页面更加整洁,符合MVC(Model-View-Controller)设计模式,提高了代码的可维护性和可读性。同时,JSTL也支持国际化和本地化,以及与EL(Expression ...

Global site tag (gtag.js) - Google Analytics