• 原文链接:https://www.cnblogs.com/guaishoubiubiu/p/8721277.html

    TLD术语解释:标签库描述文件,如要在JSP页面中使用自定义JSP标签,必须首先定义实现标签的类,然后在标签库描述文件(TLD)中

    将写好的类映射成JSP标签,最后在JSP文件中使用定义好的标签,就可以生成动态的JSP内容。

    作用:在jsp页面能显示数据库的东西,省了不少事

    1.定义tld,和web.xml一个位置,约定于配置文件

    <?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.1</tlib-version>
    <short-name>myfn</short-name>
    <uri>http://www.itheima.com/jsp/functions</uri> <function>
    <name>findCategoryNameById</name> #在jsp页面中想要使用这个Functions中的findCategoryById()这个方法的话,需要使用这里指定的名称
    <function-class>com.itheima.web.Functions</function-class> #自定义类的位置
    <function-signature>java.lang.String findCategoryNameById(java.lang.String)</function-signature> #自定义类中的一个方法
    </function>
    </taglib>

    2.定义对应的实体类

    public class Functions {
    public static String findCategoryNameById(String categoryId){
    BusinessService s = new BusinessServiceImpl();
    Category c = s.findCategoryById(categoryId);
    return c.getName();
    }
    }

    3.jsp中使用

    导入标签<%@ taglib uri="http://www.itheima.com/jsp/functions" prefix="myfn"%>
    
    使用标签${myfn:findCategoryNameById(b.categoryId)}

    节省了很多代码,而且增加了代码的可重复利用性

SSM项目中的.tld文件是什么,有什么作用?怎么自定义tld文件的更多相关文章

  1. ssm项目中遇到微信用户名称带有表情,插入失败问题

    ssm项目中遇到微信用户名称带有表情,插入失败问题 问题 Mysql的utf8编码最多3个字节,而Emoji表情或者某些特殊字符是4个字节. 因此会导致带有表情的昵称插入数据库时出错. 解决方法 一. ...

  2. ssm项目中中文字符乱码

    昨天给同学改一个错,在SSM项目中,表单输入的String类型中,中文字符值,总是乱码,在控制器层获取的数据就开始乱码,先后进行了如下排查: web.xml中配置设置字符编码的监听器(过滤器), js ...

  3. ssm项目中常用的上传文件

    在项目中,上传文件一般是必不可少的,所以今天学到新的上传方式,就干脆将学习过的上传方式记录一下 一.表单直接上传图片 表单头要设置 <form action="" metho ...

  4. 当你的SSM项目中的springmvc.xml发生第一行错误解决方案

    当你新建了一个SSM项目,你复制网上的xml文件来配置或者你下载了一个SSM项目打开发现xml文件错误,打开是第一行报错的时候你是不是很懵逼 或者是这样 总之就是xml文件中<?xml vers ...

  5. ssm项目中ueditor富文本编辑器的使用

    一.下载 https://ueditor.baidu.com/website/index.html 将ueditor放到项目中合适的位置 二 . 配置文件上传路径 在utf8-jsp/jsp/conf ...

  6. 一文懂SSM项目中的web.xml常用配置项

    做web后端工程师,逃不过的web.xml,我们都知道配置这个文件是日常工作了,那么我们来把一些必须知道知识点梳理下. 我们把web项目启动的时候,首先加载的就是web.xml这个文件,只有这个文件所 ...

  7. ssm项目中使用拦截器加上不生效解决方案

    在很多时候,需要拦截器来帮助我们完成一些特定的工作,比如获取请求的参数,本身在request这种获取数据就是一次磁盘的io, 如果在filter中获取了参数,那么在controller中就不能获取相关 ...

  8. Redis在SSM项目中的简单使用

    一.基于SSM的Redis环境配置 前提是你的开发电脑安装和配置好了redis,如果没安装请看Window配置Redis环境和简单使用 1.1.pom文件中引入redis客户端jar包(pom.xml ...

  9. ssm项目中KindEditor的图片上传插件,浏览器兼容性问题

    解决办法: 原因:使用@ResponseBody注解返回java对象,在浏览器中是Content-Type:application/json;charset=UTF-8 我们需要返回字符串(Strin ...

随机推荐

  1. 浅谈python的第三方库——numpy(一)

    python作为广受欢迎的一门编程语言,其中很重要的一个原因便是它可以使用很多第三方库. 对第三方库的理解,在笔者看来就是一些python爱好者和专门的研发机构,为满足某一特定应用领域的需要,使用py ...

  2. Python的入门级试用(简明教程)

    声明:借鉴Python 简明教程 用 Python 编写的传统的 'Hello World' 程序.使用 Python 运行你的程序的方法有两种:使用交互式解释器提示符或者使用源文件.现在我们来看一下 ...

  3. C# WinForm MessageBox.Show显示在窗体中间

    一.新建MessageBoxEx类,并添加以下代码. using System; using System.Windows.Forms; using System.Text; using System ...

  4. Git无法提交branch is currently checked out

    报错 git无法提交,提示 ! [remote rejected] master -> master (branch is currently checked out) 原因 初始化没有用git ...

  5. iptables (二) nat & tcp_wrapper

    一.nat 之前网络防火墙的示例中,如果内网是私网地址,那么内网主机如何与外网通信呢? 这时候,iptables要实现内网和外网通信,有两种方式: nat: Network Address Trans ...

  6. python scraping webs - python取得NIPS oral paper列表

    from lxml import html import requests # using xpath # page = requests.get('http://econpy.pythonanywh ...

  7. install multiple versions of CUDA

    https://www.pugetsystems.com/labs/hpc/How-To-Install-CUDA-10-together-with-9-2-on-Ubuntu-18-04-with- ...

  8. Linux下安装python,mysql,redis

    linux 安装Python3 1.python下载 请在终端输入如下命令: cd /home wget http://cdn.npm.taobao.org/dist/python/3.6.5/Pyt ...

  9. MyEclipse CI 2019.4 完美激活版(含离线包+激活工具+安装教程)

    ps:MyEclipse目前已更新至2019.12.5,但是目前还没有有效的激活方式,本次文章以2019.4为例; 该文章使用离线安装的方式进行安装,在线安装不保证不会出现各类小问题,离线安装包及激活 ...

  10. Yeoman+Bower+gulp web前端自动化工作流程(初级教程)

    Yeoman包括了三个部分yo(脚手架工具).grunt/gulp(构建工具).bower(包管理器).听说gulp更容易上手,所以我就没用grunt而选的gulp 什么是开发流程? 在我看来一个完整 ...