0

设置:

eclipse 4.3 与 tomcat7(在 localhost 端口 8080 上运行)配置为我的测试服务器。

我的 EL 类文件夹结构: http: //i.imgur.com/ogOsCZM.jpg)在 Eclipse 中使用 New => 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启动了tomcat,以防万一需要没有任何积极的结果。仍然收到上面提到的错误。

有任何想法吗?我一直在网上搜索示例,但它们并没有真正提供完整/有效的示例。

谢谢!

4

1 回答 1

0

我的问题是我将 tld 文件放在了错误的位置。我正在将类/jar 导入到我的 spring web mvc 项目中。但我将 TLD 文件放在“ROOT”WEB-INF 中。我应该把它放在我的 web 项目的 WEB-INF 中。感谢所有看过它的人,现在一切正常。

于 2013-08-01T07:53:52.450 回答