设置:
eclipse 4.3与tomcat7(在localhost端口8080上运行)配置为我的测试服务器。
我的EL课程(文件夹结构: http://i.imgur.com/ogOsCZM.jpg)使用New =>创建eclipse中的Java项目
package org.flinders.mycustomutilities;
//import java.lang.StringBuilder;
public class MyCustomUtilities {
public static String Hello(String name) {
return "Heya " + name;
}
}
然后将该类导出到JAR文件中并导入到我的maven存储库中。 然后使用pom.xml中的此条目将其导入我的spring mvc项目:
<dependency>
<groupId>org.flinders.mycustomutilities</groupId>
<artifactId>MyCustomUtilities</artifactId>
<version>0.0.1</version>
</dependency>
我在Eclipse的Maven POM编辑器中没有收到任何错误。
我的TLD文件(存储在D:\ work \ eclipse \ java.metadata.plugins \ org.eclipse.wst.server.core \ tmp1 \ wtpwebapps \ ROOT \ WEB-INF中成为tomcat的工作文件夹
<?xml version="1.0" encoding="UTF-8" ?>
<taglib
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>mytaglib</short-name>
<uri>org.flinders.mycustomutilities</uri>
<function>
<name>Hello</name>
<function-class>org.flinders.mycustomutilities.MyCustomUtilities</function-class>
<function-signature>java.util.String Hello(java.util.String)</function-signature>
</function>
</taglib>
不确定要在我的设置的URI标记中添加什么。
这就是我在JSP文件中导入自定义EL函数的方法
<%@ taglib uri="WEB-INF/mytaglib.tld" prefix="mine" %>
我也试过
<%@ taglib uri="/WEB-INF/mytaglib.tld" prefix="mine" %>
但是eclipse看不到它。我已经通过eclipse启动了tomcat,以防万一需要没有任何积极的结果。仍然得到上面提到的错误。
有什么想法吗?我一直在网上搜索示例,但他们并没有提供完整/可行的示例。
谢谢!
答案 0 :(得分:0)
我的问题是我将tld文件放在错误的位置。我将类/ jar导入到我的spring web mvc项目中。但我把TLD文件放在“ROOT”WEB-INF中。我应该把它放在我的web项目的WEB-INF中。现在所有工作都归功于所有看过它的人。