1

私は現在、Apache Struts Web サイトにあるチュートリアルに取り組んでいます。

現在、フォームで [送信] を押すか、Bruce Philips のハイパーリンクをクリックすると、NoSuchMethodError.

javax.servlet.ServletException: Filter execution threw an exception
root cause

java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z
    com.opensymphony.xwork2.ognl.OgnlUtil.isEvalExpression(OgnlUtil.java:224)
    com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:215)
    com.opensymphony.xwork2.ognl.OgnlValueStack.trySetValue(OgnlValueStack.java:187)
    com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:174)
    com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:152)
        ....

何が問題なのかよくわかりませんが、チュートリアルに記載されている内容はすべて含まれていると思います。に依存関係を含めようとしましたpom.xmlが、それでも違いはありません。

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>Struts2PracticeSite</groupId>
  <artifactId>Struts2PracticeSite</artifactId>
    <packaging>war</packaging>
  <version>0.0.1</version>
    <build>
        <finalName>Struts2PracticeSite</finalName>
    </build>
    <dependencies>
    <dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.3.8</version>
</dependency>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.14</version>
</dependency>
</dependencies>
    
    
</project>

この問題を解決する方法についてのアイデアはありますか?

4

5 に答える 5

1

struts2.3.1.1 は、ognl3.0.2.jar + ognl3.0.2-source.jar + ognl3.0.1 を同時に許可し ます。struts2.3.1.2 は ognl3.0.4 のみを持つことができますが、他のバージョンは削除してください

ognl3.0.4は必須であり、唯一の ognl jar にすることができます!

于 2013-02-28T15:49:55.167 に答える
0

私はあなたが必要とする依存関係を信じています

  <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-core</artifactId>
     <version>${struts2.version}</version>
  </dependency>
  <dependency>
     <groupId>org.apache.struts</groupId>
     <artifactId>struts2-tiles-plugin</artifactId>
     <version>${struts2.version}</version>
  </dependency>

他にも依存関係がありますが、これらは Struts2 Tiles アプリケーションに必要です。

于 2013-02-28T21:37:36.117 に答える
0

これらの Jar の組み合わせを Struts 2 アプリケーションに使用する

ここに画像の説明を入力

于 2014-06-20T07:41:15.970 に答える
0

ognlこれはすでにそれ自体の一時的な依存関係であるため、依存関係として削除し、 struts 2.3.8Eclipse がアプリケーションを適切にデプロイしたかどうかを確認してください。これには多くの問題があります。

于 2013-03-01T06:17:58.157 に答える
0

問題が見つかりました... サーバーのバージョンが古すぎて struts 2 を処理できないことが判明しました。以前は Geronimo バージョン 2.0.2 を使用していましたが、GlassFish 3.1.2 で問題なく動作します。

于 2013-03-01T15:07:17.227 に答える