`

Duplicate bean name: {0}

    博客分类:
  • java
阅读更多

今天在项目中遇到这个问题,记下错误的原因,错误出在<jsp:usebean>的id命名上。此id是为了在JSP中使用某个bean而给该bean取一个别名。取这个名字的原因:

第一,Java中,考虑到代码的可阅读性和使用的方便性,在给类命名的时候,通常让其名字有其功能的意义。这样一来,就有可能使类的名字过长。过长的bean的名字在JSP文件中使用就不方便了,通过id,就可以避免了上述的不方便。

第二,同一个JSP文件中不允许bean的id重名;不同的JSP文件中是可以重名的,即使这两个JSP使用了同一个bean,但前提是这两个JSP文件相对独立。

   Eg: 形如a.jsp和b.jsp两个文件,倘若在a.jsp中有这么一句 :

<%@include file="b.jsp"%>

  这样一来此二文件就有了关联,将二者视为同一JSP文件,换言之,id不能重名。现在你是不是觉得第一条只是表面现象了。也就是说不使用别名的话,无法在相关联的N个JSP文件中使用同一个bean。使用bean的时候,一旦有id重名,就会报错:Duplicate bean name。

也就是说,如果在前前页面没有找到同名的id名,就看看引用的其他页面是否有给当前页面重名的id了。。。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics