1

grails で というアプリを作成し、作成しxyzた war ( xyz.war) を ROOT.war に変更しました。grails アプリのコンテキストも "/" になりました。ルート (http://localhost:8080/またはhttp://www.mywebsitedomain.com/) からアプリにアクセスできます。すべてのimg srcタグも絶対です。
<img src='/images/abc.png'>
アクションへのajax呼び出しはこのようなものです

$.ajax({
  url:"/myController/myAction/myId"
})

すべてが正常に動作します。

ここで、デプロイされた戦争を ROOT.war から xyz.war に変更する必要があります。ただし、すべてのリソースは絶対です (「/」で始まります)。画像が表示されず、コントローラーへの呼び出しも機能しません/xyzこれを行うために構成を変更できますか? /xyzgsp ファイルと js ファイルのすべての URLの前に を追加したくありません。grails アプリのコンテキストを に変更しても役に立たず、コードで urlMappings.groovy に/xyz追加しても効果がありませんでした。/xyz/$controller/$action

4

1 に答える 1

0

私が何をしたかをお話しします。それがあなたのやりたいことかどうかはあなたが決めてください。最初のステップは、grails contextPath を本来あるべきものに変更することです。

main.gspがすべてのページに使用する私の中で、私は頭の中にこれを設定しています:

<script type="text/javascript">
    var contextPath = "${contextPath}";
</script>

次に、ハードコードされたパスを使用するすべての JavaScript ファイルでその変数を使用します。GSP でハードコードされたパスを使用しないでください。コントローラーとアクションに基づいてタグを取得するためのタグがあります。さらに説明が必要な場合は、お知らせください。

于 2012-10-18T12:31:04.847 に答える