我有一个 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 以便它可以看到我的自定义标签库的任何想法?正如我上面所说,我查看了各种示例,但它们似乎并不完整。谢谢