首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用struts-jquery-标记,但遇到多个异常?

尝试使用struts-jquery-标记,但遇到多个异常?
EN

Stack Overflow用户
提问于 2014-03-24 01:08:40
回答 3查看 3.5K关注 0票数 0

我将使用struts-,但是应用程序会引发以下错误。基于这个问题,我将struts更改为struts2,而基于这一个,我将bean添加到struts.xml文件中,但没有效果。

代码语言:javascript
复制
 <%@ taglib prefix="sj" uri="/struts2-jquery-tags" %>

例外

代码语言:javascript
复制
ERROR [CommonsLogger.java:38] Unable to load configuration. - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: Unable to load bean: type:org.apache.struts2.views.TagLibraryDirectiveProvider class:com.jgeppert.struts2.jquery.grid.views.JqueryGridTagLibrary - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: java.lang.NoClassDefFoundError: org/apache/struts2/views/TagLibraryDirectiveProvider

Caused by: java.lang.ClassNotFoundException: org.apache.struts2.views.TagLibraryDirectiveProvider
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1761)
    at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1611)
    ... 63 more

SEVERE:   WebModule[]Exception starting filter struts2
java.lang.InstantiationException
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:135)

Caused by: Unable to load configuration. - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: Unable to load configuration. - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: Unable to load configuration. - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: Unable to load configuration. - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: Unable to load bean: type:org.apache.struts2.views.TagLibraryDirectiveProvider class:com.jgeppert.struts2.jquery.grid.views.JqueryGridTagLibrary - bean - jar:file:/C:/Users/Alex/Projects/Myproject/target/Myproject-1.0/WEB-INF/lib/struts2-jquery-grid-plugin-3.7.0.jar!/struts-plugin.xml:27:152

Caused by: java.lang.NoClassDefFoundError: org/apache/struts2/views/TagLibraryDirectiveProvider

Caused by: java.lang.ClassNotFoundException: org.apache.struts2.views.TagLibraryDirectiveProvider

POM.xml

代码语言:javascript
复制
  <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.8</version>
        </dependency>
   <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-convention-plugin</artifactId>
            <version>2.3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-dojo-plugin</artifactId>
            <version>2.3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts-taglib</artifactId>
            <version>1.3.10</version>
        </dependency>
   <dependency>
        <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery-plugin</artifactId>
        <version>3.7.0</version>
    </dependency>
    <dependency>
        <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery-grid-plugin</artifactId>
        <version>3.7.0</version>
    </dependency>
    <dependency>
        <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery-richtext-plugin</artifactId>
        <version>3.7.0</version>
    </dependency>
    <dependency>
        <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery-tree-plugin</artifactId>
        <version>3.7.0</version>
    </dependency>
    <dependency>
        <groupId>com.jgeppert.struts2.jquery</groupId>
        <artifactId>struts2-jquery-mobile-plugin</artifactId>
        <version>3.7.0</version>
    </dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
</dependency>
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts-annotations</artifactId>
    <version>1.0.5</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
            <dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.20</version>
</dependency>
          <dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity</artifactId>
    <version>1.7</version>
</dependency>
EN

回答 3

Stack Overflow用户

发布于 2014-03-24 01:55:48

您有依赖问题:

类TagLibraryDirectiveProvider存在于struts2 2核jar中,但在新版本(2.3.16)中存在于您声明的(2.3.8):http://struts.apache.org/release/2.3.x/struts2-core/apidocs/org/apache/struts2/views/TagLibraryDirectiveProvider.html中。

因此,简单地升级依赖项。

票数 1
EN

Stack Overflow用户

发布于 2014-03-24 23:01:13

我可以在jQuery 2.3.14上使用Struts2插件,我只是删除了应用程序的目标目录,并使用了以下依赖项。

代码语言:javascript
复制
 <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.3.14</version>
        </dependency>
        <dependency>
            <groupId>com.jgeppert.struts2.jquery</groupId>
            <artifactId>struts2-jquery-plugin</artifactId>
            <version>3.6.1</version>
        </dependency>
             <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version>
      </dependency>
票数 0
EN

Stack Overflow用户

发布于 2014-07-23 17:40:01

代码语言:javascript
复制
/*
 * $Id$
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.apache.struts2.views;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.opensymphony.xwork2.util.ValueStack;

/**
 * Provides Velocity implementation classes for a tag library
 */
public interface TagLibraryDirectiveProvider {

    /**
     * Gets a list of Velocity directive classes for the tag library.  Called once on framework
     * startup when initializing Velocity.
     *
     * @return A list of Velocity directive classes
     */
    public List<Class> getDirectiveClasses();

}

和:

代码语言:javascript
复制
/*
 * $Id: TagLibrary.java 651946 2008-04-27 13:41:38Z apetrelli $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package org.apache.struts2.views;

import com.opensymphony.xwork2.util.ValueStack;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Provides Freemarker implementation classes for a tag library
 */
public interface TagLibraryModelProvider {

    /**
     * Gets a Java object that contains getters for the tag library's Freemarker models.
     * Called once per Freemarker template processing.
     *
     * @param stack The current value stack
     * @param req The HTTP request
     * @param res The HTTP response
     * @return The Java object containing the Freemarker model getter methods
     */
    Object getModels(ValueStack stack, HttpServletRequest req, HttpServletResponse res);

}

我编译并将它们添加到“类”文件夹中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22599435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档