我想把文件名用变量代替,该怎么写?
如:String name="aa";//文件名是变化的
String filename1=name+".jsp";
我用<%@ include file="文件名"%>,怎么调用?

解决方案 »

  1.   

    String name="XXX";//文件名是变化的
    String filename1=name+".jsp";
    <%@ include file="<%=filename1%>
      

  2.   

    这样不可能对的了
    我还用过<%@ include file=""+name1+""%>也不对
      

  3.   

    用EL表达式试下
    <%@ include file="${filename}"%>
      

  4.   

    <%@ include file=""%> 这里的file是不支持<%%>表达式的如果一定要include,那只能用<jsp:include page=""/> 这里的page相当于上面的file,可能语法上有些出入,楼主可以去搜索一些相关资料。用<%@ include%>和<jsp:include>的区别在于:
    1、<%@ include%>的file属性里不支持<%%>表达式,而<jsp:include>的page属性却支持
    2、假如你要include进来的jsp页面里有<%变量类型 变量名;%>等定义了几个变量,那么这些变量也会被父页面所识别;例如:A页面里用了<jsp:include page="B.jsp"/>那么A和B里面不能定相同名字的变量;而在<%@ include file="B.jsp"%>中A、B两个页面定义的变量不会冲突如果既想在A页在中把B给include进来,又想使他们俩的变量独立,互不干扰,那只能用iframe了,<iframe src="B.jsp" ...>后面还有些属性与frame的属性基本是一致的
      

  5.   

    <%String name="./test.html";%>
    <jsp:include page="{<%=name%>}" flush="true"/> 结果报以下错误:错误信息  
    产生错误的可能原因:
    Cannot URL decode request path /xq/{  
     
    这是为什么?
      

  6.   

    不好意思,没注意到楼主还有其他问题,
    <jsp:include page="{<%=name%>}" flush="true"/> 这里应该不用{}吧