javaのハイパーリンクURLへのコンテキストパスを設定する方法

  
       
 

上記のコードは "/ dnweb"というコンテキスト名を持っています。これはハードコードされたものとして与えられます。しかし、私はそれを動的に必要とします。

コンテキスト名をプロジェクトに変更した場合。自動的に変更する必要があります。どうすればこのようにすることができますか?

私はコードを

しかし、これは誤りです。

0
何がエラーを出していますか?
追加された 著者 Bozho,
このリンクをチェック... [クリック] [1] [1]: stackoverflow.com/questions/2065843/…
追加された 著者 Sumit Singh,

4 答え

You don't need the pageContext. Simply use ${request.contextPath}

古いバージョンのJSPでは、次のように設定する必要があります。

<%@ page isELIgnored="false" %> 

しかし、新しいバージョンをサポートするようにサーブレットコンテナをアップグレードしてみてください。

2
追加された
あなたはまだ私の質問に答えていない "それは何のエラーを与えている"
追加された 著者 Bozho,
JSPのバージョンは何ですか?あなたのJSP(jspディレクティブ)の上には何がありますか?
追加された 著者 Bozho,
ああ、それは非常に古いバージョンです。私の更新をチェック
追加された 著者 Bozho,
私は自分の答えを更新しました。それをチェックする
追加された 著者 Bozho,
さて、私が示した指示を加えて、もう一度やり直してください
追加された 著者 Bozho,
あなたは上記の何かを間違っている - あなたはWEB-INF/tldに標準のtldを持つべきではありません。あなたのEL全体は無視されます。
追加された 著者 Bozho,
$ {request.contextPath}は機能していません。
追加された 著者 Mdhar9e,
JSPバージョン: 1.2 '<%@ページ言語= "java"%> <%@ taglib uri = "/ WEB-INF/tlds/struts-bean.tld" prefix = "bean"%> <%@ taglib uri = "/ WEB-INF/tlds/struts-html.tld" prefix = "html"%> <%@ taglib uri = "/ WEB-INF/tlds/struts-ext.tld" prefix = " tlds/struts-tiles.tld "接頭辞="タイル "%> <%@ taglib uri ="/WEB-INF/tlds/utility.tld "接頭辞"%> <%@ taglib uri = "/ WEB-INF/= "util"%> <%@ taglib uri = "/ WEB-INF/tlds/c.tld" prefix = "c"%> 'これは私のページにしか使われていません。
追加された 著者 Mdhar9e,
任意のアイデアBozho。 :(
追加された 著者 Mdhar9e,
サーバーをアップグレードすることはできません。私たちはプロジェクトに参加しています。
追加された 著者 Mdhar9e,
私はその指示に挑戦しました。ページが間違っています。
追加された 著者 Mdhar9e,
http:// localhost:8080/dnweb/device/$%7Brequest.contextPath%7&zwnj; D/displayFindDeviceI&zwnj; d.do 上記のリンクを表示しています。しかし、 http:// localhost:8080/dnweb/displayFindDeviceId.do のようにする必要があります。
追加された 著者 Mdhar9e,

私はhtmlのtaglibタグを使用してコンテキストパスを設定します。私は、スクリプトのようなタグを使用して変数を使用してコンテキストパスを設定することができます

contextPathをここで収集するために変数urlNameを使用しました。


 <% urlName= request.getContextPath() + "/displayFindDeviceId.do"; %>
  
        
 

このコードに従って、私のlocalhostで正常に動作しています。

BozhoとJBに感謝します。

0
追加された

これはStruts1タグですね。その場合は、コンテキスト相対(またはモジュール関連の)URLを使用できるようにするには、 action または page 属性を使用する必要があります。 http://struts.apache.org/1を参照してください。 x/struts-taglib/tagreference.html#html:link を参照してください。

0
追加された

${pageContext.request.contextPath} worked for me (spring version 4.3.5.RELEASE and jstl version 1.2). The setting isELIgnored="false" is still needed.

0
追加された