2014-03-31 108 views
0

我有一個名爲變種一個bean ID globalConstants內的靜態全局字符串常量。在我的JSP中,我可以抓住它通過$ {} globalConstants.var的內容。現在我的變種具有如下網址:嵌套春天EL不工作

<a href="<spring:url value="/fan/foo.html"/>">Foo</a> 

但是,該標記不會被評估到正確的URL。但是整個標籤都在那裏。無論如何,我的彈簧標籤在var變量被調用後會被評估嗎?具體來說,給定的URL應該是這樣的

<a href="/abc/fan/foo.html">Foo</a> 
+1

你嘗試沒有外引號?或者將其中一個報價對轉換爲單引號? –

+0

都沒有工作。 仍然存在,鏈接不起作用。它鏈接到彈簧:url的東西在瀏覽器的地址欄 – user3480524

+1

可能重複http://stackoverflow.com/questions/5007210/how-to-use-springurl-with-an-a-tag – Morfic

回答

0

我假設你有像

public class Constants { 
    private String var = "<a href=\"<spring:url value=\"/fan/foo.html\"/>\">Foo</a>"; 
    public String getVar() { 
     return var; 
    } 
} 

然後

model.addAttribute("globalConstants", new Constants()); 

${globalConstants.var} 

反正在var變量。我的春天標籤在調用它得到評估

沒有,只有一個組件在這裏玩:表達式語言解析器。這將看到${..},並執行適當的邏輯來解析表達式和String結果直接寫入HttpServletResponseOutputStream

你根本就做不到你的要求,你不應該。將視圖元素和Java代碼分開(除非Java代碼旨在寫入響應)。

如果你需要像一個全球性的持有者爲

<a href="<spring:url value="/fan/foo.html"/>">Foo</a> 

把它放在自己的JSP和import它在每個需要它的JSP。

0

我相信你已經忘了進口標籤庫,如:

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %> 

然後在下面行應當工作:

<a href='<spring:url value="/fan/foo.html"/>'>Foo</a> 
+0

它不是那樣的。錨點是字符串變量的一部分。字符串變量的內容就像這個$ {globalConstants.var}。但是,變量中的url:spring標記沒有得到評估。因此,我不能有適當的聯繫 – user3480524