1

サーバーにTomcatをインストールし、server.com /app/で入手できます。これは、TomcatのルートアプリケーションがそのURLでホストされていることを意味します。

現在、新しいアプリケーション(old.war)をデプロイしようとしていますが、サーバーはそれをserver.com/app/old/にデプロイします。今まではそれで結構です。

このような定義のページでフォームを作成すると、問題が発生します。

<html:form name="LoginForm" type="some.form" action="/LoginFormAction" method="post">...

出力で、アクションの値「/old/LoginFormAction.do」を受け取ります。最初に「アプリ」がないため、これは間違った値です。たとえば、さまざまなアクションの値を試しました

<html:form name="LoginForm" type="some.form" action="/app/old/LoginFormAction" method="post">...
<html:form name="LoginForm" type="some.form" action="/app/LoginFormAction" method="post">...

ただし、アクションの値に「/old」プレフィックスが追加されます。どうすればその問題を解決できますか?ありがとうございました

4

2 に答える 2

0

Tomcatのルートがappの場合、それは利用できません('/'は'app /'にマップされると考えてください)、相対パスを使用する必要があります。

`action="LoginFormAction"` and it should work fine.
于 2012-07-12T18:27:37.943 に答える
0

この問題によると、 Struts1はフォームのアクション属性の相対パスをサポートしていません。したがって、それを解決する方法はありません。ここで説明されているようなハックでも。

于 2012-07-13T17:29:12.643 に答える