如果非得这么做还是有办法的,你可以将<my:show>实现成对另我一个jsp文件的include。还是不明白?那就看看jsp内置的<jsp:include ..>是如何做到的吧,现明白了吧?!在这个被<my:show>缺省"include"的文件中定义一个名为 pageNumber的变量不就得了!提示:这样是本人即为不推荐的。

解决方案 »

  1.   

    标记本身不就是页面的一部分吗?
    有没有办法将标记对应类里面定义的属性在页面中直接使用?
    <my:show>
        <%=pageNumber%>
    </my:show>
    就好比说,pageNumber是<my:show>这个标记所对应的类中的一个成员变量???
      

  2.   

    <quote>
      pageNumber是<my:show>这个标记所对应的类中的一个成员变量???
    </quote>我的理解是不可以的!这个需要从Tag的原理讲起,因为Tag实际是一个Java Class,它由Servlet Engine 实例化,并调用其相关生命周期方法,例如:doStart 等。也就是说实际是Tag Body中的代码的执行与Tag Class本身的代码是存在于两个不现的Class之间,这样在Tag中定义的属性(变量)是不能直接在Jsp中(即另外一个Class,即Servlet)中直接不通过对象就访问的。所以,需要在Jsp所产生的Class中定义pageNumber。