2014-01-21 59 views
0

使用以下方法加載頁面時,我正在更改文檔頁標題。我使用JSTL 1.0.2使用jstl和javascript加載頁面時更改文檔標題

<html> 
<head></head> 

<script type="text/javascript" language="JavaScript"> 
function updateTitle() { 
    document.title = '<c:out value="${titleName}"/>'; 
} 

window.onload=updateTitle;  
</script> 

<body> 
<% if(somecondition) { %> 
<c:set var="titleName" value="new title"/> 
<% }else if (othercondition){ %> 
<c:set var="titleName" value="other title"/> 
<%}%> 
</body> 
</html> 

但我正在逐漸

This attribute does not support request time values. 
    document.title = '<c:out value="${titleName}"/>'; 

在web.xml中,我已經定義xmlns:c="urn:jsptld:http://java.sun.com/jstl/core"和jsp頁面中我也有定義<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>

其他什麼配置我需要添加爲了使上述工作,也想知道我的方法是否也是正確的?

回答

0

這似乎與jstl無關。 Simply JS可以使用這個工作 -

document.title = "This is new Title."; 

然後如果需要刷新(手動或使用JS)。

+0

我有很多條件。我更新了問題 – Harshana

+0

如果您在客戶端知道標題,則可以使用此答案。如果不是,則需要從jsp中設置值。 – Ved

0

你可以把條件放在javascript方法中來判斷它。

<html> 
<head></head> 

<script type="text/javascript" language="JavaScript"> 
function updateTitle() { 
    if (somecondition) { 
     document.title = '<c:out value="new title"/>'; 
    } else if(othercondition) { 
     document.title = '<c:out value="other title"/>'; 
    } 

} 

window.onload=updateTitle;  
</script> 

<body> 
</body> 
</html> 
+0

以及它只是一個示例代碼我粘貼在那裏。我正在根據條件做一些其他的邏輯。問題是c標籤中的值屬性無法識別 – Harshana

相關問題