我有一个Spring MVC网络应用程序,我正在使用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和许多其他链接(列出的内容太多但内容相似)。
我已将Tomcat7配置为STS 4.3的测试服务器
我在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上的web应用程序)
<?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的任何想法,以便它可以看到我的自定义标记库?正如我上面所说,我看了很多例子,但看起来并不完整。感谢