2015-09-07 112 views
1

我必須渲染jsp中的一列表。現在,這個jsp頁面也正在另一個頁面中使用。該特定欄目只能在其他頁面中找到,而不能在我的頁面中找到。所以對於這個我正在使用一個上下文變量,我得到某種方式並將其保存在我的JavaScript值。根據javascript變量渲染jsp內容

該怎麼辦?

<html> 
 
<head> 
 
    <script> 
 
     function getPageId(){ 
 
      var someValue = fetching it some how using url. 
 
      var pageId=someValue; 
 
     } 
 
    </script> 
 
    <script language="JavaScript">getPageId();</script> 
 
</head> 
 

 

 

 
<body> 
 
    <table id="pageContent" width="100%" valign="top"> 
 
    <tr> 
 
     <td id="firstColumn"> 
 
      <div class="className"> 
 
       <jsp:include page="/pages/common/blank.jsp" /> 
 
      </div> 
 
     </td> 
 

 
     <td id="secondColumn" width="100%" style="padding-left:16px"> 
 
        
 
     </td> 
 
    </tr> 
 
      </table> 
 
</body> 
 
</html>

列TD使用id = 「firstCoulmn」 必須獲得有條件地呈現基礎上,PAGEID可變

值請幫助

+0

JavaScript是客戶端腳本,在JSP生成HTML後在瀏覽器中運行。你怎麼能從JS上下文中使用一個甚至不存在於JSP中的變量? – FelisCatus

+1

你能解釋一下'var someValue =的一些方法如何使用url'的邏輯。 ? – vjy

+0

你不能使用javascript來防止jsp渲染,你可以做相反的使用jsp變量來用if語句渲染頁面的一部分。 使用JavaScript,你可以隱藏/去除div,但只發布渲染,所以你會在頁面中開始。 –

回答

0

如果var someValue可以通過URL來決定參數,那麼你必須在服務器端本身做邏輯。

<body> 
<table id="pageContent" width="100%" valign="top"> 
<tr> 
<% 
String someValue = request.getParameter("someValue"); 

// Your logic goes here 
if("test".equals(someValue)) { %> 

<td id="firstColumn"> 
      <div class="className"> 
       <jsp:include page="/pages/common/blank.jsp" /> 
      </div> 
     </td> 

<% } %> 
<td id="secondColumn" width="100%" style="padding-left:16px"> 

     </td> 
    </tr> 
      </table> 
</body>