jsp include file(变量) 动态加载文件

      <%@include file="/includes/<%=id %>/abc.html" %>  这样写系统会报错,提示找不到文件,主要原因是<%=id %>并没有被解析为你想要的id。

      好,我们换一种方式,使用<jsp:include page="/includes/<%=id %>/adc.html"></jsp:include>是不是可以呢。在Eclipse中<%=id %>显示的颜色告诉我们这样应该可以。不过,不好意思,这样还真的不行。

      那我们再换个思路,我们把整个page后面的值当成一个变量,写成这样:

<%String add = "/includes/" + id+ "/abc.html"; %>
<jsp:include page="<%=add %>"></jsp:include>

 经过测试这样是可行的。反过来你可能会想到

<%String add = "/includes/" + id+ "/abc.html"; %>
<%@include file="<%=add %>" %>

 

些是不是也可以呢,经测试,这样还是不行。

 

下面转自:http://hi.baidu.com/hankers/blog/item/dc1bda54489c215dd0090674.html

<%@ include file="" %>
    静态包含文件,即在编译时插入包含的文件。file不能为一变量URL,也不可以在file 所指定的文件后接任何参数,file 所指的路径必须是相对于此JSP 网页的路径。
如果在includebydirectives.jsp中使用<%@ include file="common.jsp"%>,则会在生成的includebydirectives_jsp.java中将common.jsp的文件包含进来。
注:在common.jsp、includebydirectives.jsp可相互引用定义的变量、方法。在common.jsp中定义的指令会合并到includebydirectives.jsp中。
<jsp:include page="" />
     动态包含文件,即在运行时加入包含文件的运行结果。语法:
<jsp:include page="{urlSpec | <%= expression %>}" flush="true | false " />

<jsp:include page="{urlSpec | <%= expression %>}" flush="true | false" >
<jsp:param name="PN" value="{PV | <%= expression %>}" /> *
</jsp:include>
如果在includebyaction.jsp中使用<jsp:include flush="true" page="common.jsp"></jsp:include>,则在生成的includebyaction_jsp.java中在include的地方会加入一条:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "common.jsp", out, true);
注:includebyaction.jsp和common.jsp是相互独立的,includebyaction.jsp只是把common.jsp执行的结果加入。

 

更详细的信息请参考:http://hi.baidu.com/%D2%BB%C9%FA%CF%B7/blog/item/694657f378c5305c352accf2.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值