各位大虾,本人现有一个问题请教,请帮忙!!String aaa=1.jsp;
直接引用<jsp:include page="<%=aaa%>">在jsp页面中包含1.jsp这个文件,这样的引用是可以的。但是现在有一个问题,我的aaa这个变量是从数据库读出来,然后再引用,比如下面:
String aaa=rs.getString("filename");<jsp:include page="<%=aaa%>">
为什么这样就不可以了呢,好像是java编译的问题,前者直接编译了引用,而后者却多了一个数据库操作的过程,这样jsp引用就不能被编译,是不是这样呢?有什么办法可以解决这个问题!!!

解决方案 »

  1.   

    你必须在这句前面能得到aaa的值就行了
    <jsp:include page="<%=aaa%>">
      

  2.   


    判断一下aaa的值,你必须要有一个值给aaa
    <jsp:include page="<%=aaa%>">
      

  3.   

    可能我没有说明白,现在是如果在页面上我直接敷给aaa一个值,比如
    String aaa="1.jsp";
    然后<jsp:include page="<%=aaa%>">
    这样就可以了但是,我现在aaa的要从数据库得到,如下:
    String aaa=rs.getString("filename");
    然后<jsp:include page="<%=aaa%>">却不行,看页面的源代码,感觉就没有执行这个引用为什么呢?大家可以测试一下!
      

  4.   

    <jsp:include page="{relativeURL | <%= expression%>}" flush="true" /> 
    你可以加上flush="true",看一下,如果还不行,你一个通过一个URL和FILE类包装一下你通过数据库读出的数据,如果还不行,你可以先从数据库中读出数据写入一个文件,然后使用这个文件的相对路径,这个肯定行
      

  5.   

    不会吧,我觉得这和asp一样的,<jsp:include page="<%=aaa%>">
    这句话是先于
    <%%>代码执行的,换而言之就是说,在aaa还没值之前,<jsp:include page="<%=aaa%>">便已执行,那自然就得不到值啦
      

  6.   

    String aaa=(rs.getString("filename")).trim();
      

  7.   

    String aaa=rs.getString("filename");<jsp:include page="<%=aaa%>">這兩句話中葉面先執行<jsp:include page="<%=aaa%>">  再執行String aaa=rs.getString("filename");
    kanodo(后生)的回答是正確的!
      

  8.   

    <%@ include file ="../Include/readdb.inc" %>用这个
      

  9.   

    <jsp:include page="<%=aaa%>">
    反正这里必须明确给出路径
      

  10.   

    <jsp:directive.include file="xxx.jsp" />
    要directive.include来加入
      

  11.   

    可能 1 例如,你预想include的文件是"a.jsp",那么,应该是5个字符的长度了,String aaa=rs.getString("filename");
    out.println(aaa.length());看看长度是不是5就知道了。
    可能 2 例如你parent.jsp中包含了child.jsp,如果你修改了child.jsp的内容,然后刷新parent.jsp是看不到效果的,你必须在parent.jsp中,多加一些无谓但不出错的代码,让服务器重新编译parent.jsp,才会见到效果。原因是服务器把parent.jsp和child.jsp作为一个整体来编绎成一个servlet的,如果服务器检测不到parent.jsp有变化,就不会重新编译.
      

  12.   

    kanodo(后生)的回答 正確!
      

  13.   

    我不是在上面说了吗?你必须在这句前面能得到aaa的值<jsp:include page="<%=aaa%>">
    你可以这样来测试
    <%
    System.out.println(aaa);
    %>
    先看一下aaa输出的值是什么,下来还可以把这个变量的值用request或session来传值。
      

  14.   

    <jsp:include page="<%=aaa%>">
    应该这样写
    <jsp:include page="<%=aaa%>"/>