2013-12-09 59 views
2

我有一个名为root.jsp的JSP页面,因为我有一个页脚标签,它取代了某些文本(即来自java端的属性文件)。页脚标签本身使用基于登录到网站的特定角色的脚本显示。 root.jspglobal.js这里包括文件的代码片断如何使用ceratin Javascript逻辑更新JSP页面html元素?

**root.jsp** 
<%if(role.equals("Learner")){%> 
     <footer> 
      <p id ="par1">${userAccessMsg}.</p> 
      <p id ="par2">${userNoFolderAccessMsg}.</p> 
     </footer> 
     <%} %> 

我需要通过检查,只显示一个<p>标签如果变量folders为空。

**global.js** 
    var folders = getConfigLinkedFolders(); 
    function getConfigLinkedFolders { 
     return arrayList; /*["defssfsf","hrhrhhr"] */ 
} 

我应该怎么做?

+1

请不要使用小脚本!阅读[JSTL核心](http://www.tutorialspoint.com/jsp/jstl_core_if_tag.htm)。 –

回答

0

在DOM准备好处理程序中有一个方法,您可以在其中添加一个类到正在讨论的元素中。

$(document).ready(function() { 
    var folders = getConfigLinkedFolders(); 

    if(folders && folders.length > 0) { 
      $('#par2').addClass('hide'); 
    } else { 
      $('#par1').addClass('hide'); 
    } 
}); 

function getConfigLinkedFolders { 
    return arrayList; /*["defssfsf","hrhrhhr"] */ 
} 

而在你的CSS文件中定义的类hide

.hide { 
    display : none; 
} 
+0

感谢这工作。我有个问题。在root.jsp中,我添加了$(document).ready()并添加了上面显示的代码。在root.jsp中,我有一段从不同的jsp页面显示出来的section.jsp。在该section.jsp中有另一个。 $(document).ready()函数。这是做这件事的好方法吗?添加你的代码后没有任何东西被破坏。只是想确保这仍然是有效的实现 – pushya

+1

@pushya ..在jsp页面本身中分配类,而不是为这种情况编写javascript总是一个更好的主意,在刚刚访问'DOM'的用户中,用户可以删除课程并查看下面的信息.. –

相关问题