使用Struts2,我在我的java代碼中計算一個鏈接,並在JSP頁面的getter中公開鏈接的字符串。我嘗試使用<a href='<s:property value="mylink" />'>a Link</a>
鏈接到此外部鏈接。可悲的是,Struts總是在本鏈接之前放置本地上下文,因此生成的鏈接看起來像<a href="http://localhost:8080/Mycontext/https://twitter.com/some?more=param&ete=rs">a Link</a>
。Struts2 - 鏈接到JSP上的外部URL *不包括*本地上下文路徑?
注:我也嘗試使用<s:a>
和<s:url>
與includeContext="false"
...相同的結果。這裏有什麼問題?
你說得對,我沒有正確地計算網址 - 事實上,我對整個網址進行了網址編碼,這使得開頭的「http://」無效。但Struts2(或JSP本身?)似乎意識到,有一個標籤具有不良定義的href屬性,然後預先設置上下文。謝謝:-) – Akku 2011-06-06 15:00:16
您是否真的在生成的html內容中查看內容,斷言上下文是前置的?也許發生的事情是鏈接是相對的(缺少http:// ...),所以瀏覽器 - 顯式地添加了當前上下文。 – leonbloy 2011-06-06 15:04:46
是的,我查看了生成的HTML,並確實缺少了http://(而不是httpandsomeASCIIcodes在URL的開頭),所以我猜想不是僅僅將相對URL留在那裏,而是將Struts2轉換爲絕對URL使用appcontext。不能說我喜歡那個「功能」。 – Akku 2011-06-07 13:28:11