根据javascript变量渲染jsp内容

问题描述:

我必须渲染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,但只发布渲染,所以你会在页面中开始。 –

如果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>