0

我有一个 Spring MVC Web 应用程序,我正在使用 STS 4.3 作为我的 IDE 进行开发。

我决定尝试自定义 JSP 标记库。

这些是我正在关注的教程:http ://www.tutorialspoint.com/jsp/jsp_custom_tags.htm和http://www.noppanit.com/how-to-create-a-custom-function-for-jstl /http://blog.denevell.org/tomcat7-el-custom-function.html和许多其他链接(太多无法列出,但内容相似)。

我已经使用 STS 4.3 将 Tomcat7 配置为我的测试服务器

我在 STS 中创建了一个新项目并将其命名为“MyCustomUtilities”。

MyCustomUtilities 项目的文件夹结构:http : //i.imgur.com/9nEuPYW.jpg

MyCustomUtilities.java 的源代码

package org.flinders.mycustomutilities;

import java.lang.StringBuilder;

public class MyCustomUtilities {

    public static String StringToHTML(String inputString) {
        StringBuilder returnString = new StringBuilder();
        char[] inputChar = inputString.toCharArray();

        for (char c: inputChar) {
            returnString.append("&#").append((int) c).append(";");
        }

        return returnString.toString();

    }
}

JSP 片段(我也尝试过 <%@ taglib uri="WEB-INF/MyCustomUtilities.tld" prefix="mine" %> 但仍然出现错误)

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<%@ taglib uri="http://localhost:8080/MyCustomUtilities.tld" prefix="mine" %>

Tomcat文件夹结构:http: //i.imgur.com/oT3Ndhp.jpg

我创建了一个名为“CLASSPATH”的系统变量,它指向 ROOT/WEB-INF(当然是完整路径。在这里缩短它)。

这是我的 TLD 文件(不确定在 uri 部分放什么,但我正在浏览器上的 localhost:8080 上访问我的网络应用程序)

<?xml version="1.0" encoding="ISO-8859-1" ?>
<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.1">

    <tlib-version>2.0</tlib-version>
    <uri>localhost:8080/MyCustomUtilities</uri>

    <function>
        <name>StringToHTML</name>
        <function-class>org.flinders.mycustomutilties.MyCustomUtilities</function-class>
        <function-signature>java.lang.String StringToHTML(java.lang.String)</function-signature>
    </function>
</taglib>

关于如何设置/配置 tomcat/STS 以便它可以看到我的自定义标签库的任何想法?正如我上面所说,我查看了各种示例,但它们似乎并不完整。谢谢

4

0 回答 0