2013-10-10 17 views
0

在一個jsp文件中,我有一些url的聲明。javascript代碼如何在jsp中使用var設置

<c:url value="gotomyweb.do" var="mainLink" scope="session"></c:url> 

現在我需要在同一頁的某個javascript中使用var「mainLink」。

<html:link href="#" onclick="showMainLink()" > Go to web </html:link> 

<script> 
function showMainLink() { 
    var url="${mainLink}"; 
    navigating(url); 
} 
</script> 

問題是js中的var「url」沒有被解除。我怎樣才能得到var「mainLink」?

我能想到的另一種方式是包括VAR「mainLink」因爲這樣

<html:link href="#" onclick="showMainLink('${mainLink}')" > Go to web </html:link> 

<script> 
function showMainLink(url) { 
    navigating(url); 
} 
</script> 

參數儘管如此,我得到了一些語法錯誤。請幫忙。

+0

Whaaatttt你在做什麼? –

+0

@Akshay Khandelwal它可能看起來很荒謬,但我有充分的理由使用一些客戶端代碼來處理jsp中設置的一些var。爲了簡單起見,我在我的問題中添加了一些虛擬代碼。 – dunfa

回答

0

是否有可能做到沒有var?

<html:link href="#" onclick="showMainLink()" > Go to web </html:link> 

<script> 
function showMainLink() { 
    var url="gotomyweb.do"; 
    navigating(url); 
} 
</script> 

如果你不應該使用:

<html:link href="#" onclick="showMainLink()" > Go to web </html:link> 

<script> 
function showMainLink() { 
    var url="<c:out value="${mainLink}" />"; 
    navigating(url); 
} 
</script> 

信息:http://www.avajava.com/tutorials/lessons/how-do-i-access-a-jstl-variable-in-a-scriptlet.html

+0

url var實際上是動態設置的。所以我必須使用var。我認爲c:out只能被服務器不理解爲瀏覽器。但我會爲了起訴而嘗試。 – dunfa

+0

啊,我對

0

你爲什麼要使用JavaScript?試試看:

<c:url value="gotomyweb.do" var="mainLink" scope="session"></c:url> 
<a href="${mainLink}" >Go to web</a> 
+0

我有更多的過程在js中完成。爲了簡單起見,我在我的問題中添加了一些虛擬代碼。我確實需要使用js代碼。 – dunfa

+0

嗯,我個人儘量避免使用js,只是出於兼容性的原因(如果有人將它停用),再加上你可以用Java後端做同樣的更好的工作。嗯,只要我沒有嘗試自己,我相信我無法幫助你,對不起。 – Stacky