当前位置: 代码迷 >> Java Web开发 >> 你们不可不求我
  详细解决方案

你们不可不求我

热度:190   发布时间:2007-04-30 16:51:39.0
你们不可不求我

我在一个boooklist.jsp文件中<jsp:usebean id="bookclass" .......>
<%@ include file="left.jsp"%>
请问在left.jsp在能使用bookclass吗?

我在机子上试试了(我在在left.jsp中没加入<jsp:usebean id="bookclass" .......>
),工具提示bookclass没有定义,按理说 <%@ include file="left.jsp"%>
是把这里面的内容加入booklist.jsp中,不需要定义bookclass,因为我已经在booklist.jsp已经定义了,

为什么不行?


----------------解决方案--------------------------------------------------------

应该是可以的!


----------------解决方案--------------------------------------------------------
不可以的!include只是把你left.jsp里包含的东西放到了boooklist.jsp里,而在boooklist.jsp里定义的bean是无法在left.jsp里使用的,除非你在left.jsp里再定义一次!
----------------解决方案--------------------------------------------------------

如果你在left.jsp里再定义一次
运行时,他会说定义重复


----------------解决方案--------------------------------------------------------
我这里是可以!!不知道你那里是怎么回事!!
----------------解决方案--------------------------------------------------------

我也想不通啊,按理说,是可以的


----------------解决方案--------------------------------------------------------
可能我的意思LZ没有明白!如果你在left.jsp中定义了那个类的话再用include就会有重复定义的异常抛出!也就是相当与把1个定义了bean的jsp的数据include到了一个定义了相同bean的jsp中,当然会有那样的异常抛出啊!
打个不恰当的比方就相当于:
if(boooklist.jsp=boooklist.jsp+bean)
生成页面=boooklist.jsp+left.jsp=boooklis.jsp+bean+left.jsp//可以进行编译
如果你在left.jsp中再定义相同的bean就变成了
if(boooklist.jsp=boooklist.jsp+bean && left.jsp=left.jsp+bean)
生成页面=boooklist.jsp+left.jsp=boooklist.jsp+bean+left.jsp+bean //抛出重复定义了bean异常
你看看这样出来的东西当然会出异常了啊!
所以如果你要用bean又要include left.jsp里的东西的话就把bean定义到left.jsp中!这样在booklist.jsp中能用bean,在left.jsp中也能使用bean!

[此贴子已经被作者于2007-5-3 0:43:51编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案