在网页上一起使用JSP和Javascript的设计模式

时间:2013-08-21 11:03:05

标签: javascript jsp design-patterns web

我目前正在使用HTML / CSS,JSP / Servlet和Javascript实现一个网站。 JSP控制页面的哪一部分应该根据会话值生成(例如,取决于用户当前是否登录),Javascript对生成的文档的元素有一些操作(例如,div部分) 。

但是由于JSP代码中的条件,当我没有生成div部分时,我遇到了使用Javascript中的文档div id值的问题。

例如,一个页面有两个部分,其中只有一个部分将根据会话值条件从JSP生成。并且有一个Javascript文件,它具有一组函数,可以使用div标签或其子标签的“id”应用于每个部分。但由于JSP不生成所有部分,因此Javascript使用的某些“id”在返回的HTTP请求中不存在。下面的代码片段显示了一个示例。 JSP文件如下。

<script src="script.js"></script>
...
<%
  if(some condition) {
%>
    <div id="someID"></div>

如下所示,script.js有一些函数应用于'someID'以发出一些html并对其应用操作。但是如果JSP条件不满足,则someID不存在,因使用未识别的id而产生Javascript错误。

$function() {
  $('#someID').html( ..... )
}

问题相当冗长,但简单说明, “我想有条件地从JSP生成一些HTML部分,并使用Javascript对生成的部分应用一些操作。但是由于条件而不是由JSP生成的div部分的id由Javascript使用,它生成一个错误。我怎么设计这个?“

感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过javascript检查元素是否存在以避免错误:

if($('#someID').length > 0)) {
    $('#someID').html( ..... )
}

答案 1 :(得分:1)

您只需检查

即可
if($('#someID')) {
  .. do this..
}

if(document.getElementById('someId')){
 ..do this...
}