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

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

时间: 2024-10-07 16:15:29

jsp include file(变量) 动态加载文件的相关文章

JSP中的include动态加载

jsp:include 是动态加载,在jsp编译的时候,加载页面和被加载页面会被解析两个java,servlet文件    javac编译器会编译两次,生成两个class文件,    然后在jvm运行的过程中,这个时候包含文件才去调用被包含的class文件    这就是动态包含    不同的页面,不同的request之间可以传值    传值别忘了写flush,这里传值也是IO流,需要flush    然后把值传递到第二个页面输出: 下面我们看例子: <!DOCTYPE HTML> <ht

关于apk加壳之动态加载dex文件

由于自己之前做了一个关于手机令牌的APK软件,在实现的过程中尽管使用了native so进行一定的逻辑算法保护,但是在自己逆向破解的过程中发现我的手机令牌关键数据能够“轻易地”暴露出来,所以我就想进一步的对其进行加固.于是,我使用的网上常用的梆梆加固.爱加密和阿里的聚安全应用来对我的apk进行一个加固保护.加固后,出于好奇心,我想对这些加固的原理进行一个了解,便于我自己能够实现这个加固的方法.于是开始了网上关于这方面的学习,我将这些加固的大致原理进行了一个总结,发现它们实现的最主要的方法就是利用

jquery动态加载js/css文件方法

先来看jquery自带的getSrcript文件 方法 代码如下 复制代码 $.getScript(url,callback) 实例 代码如下 复制代码 var testVar = 'New JS loaded!'; alert(testVar); function newFun(dynParam) { alert('You just passed '+dynParam+ ' as parameter.'); } 动态调用方法 HTML代码 代码如下 复制代码 <script type="

__利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载

利用PHP的debug_backtrace函数,实现PHP文件权限管理.动态加载 简述 可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器. 好,来复习一下.view source?01    one();02     03    function one() {04        two();05    }06     07    function two() {08        three();09    }10    

QUiLoader 动态加载.ui文件

动态加载UI文件是指,用 Qt Designer 通过拖拽的方式生产.ui 文件.不用 uic工具把.ui 文件变成等价的 c++代码,而是在程序运行过程中需要用到UI文件时,用 QUiLoader 加载.ui文件,达到相同目的. --------------------------------------------------------------------------------------------------------------------------------------

利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载

简述 可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器. 好,来复习一下 01 one(); 02 03 function one() { 04 two(); 05 } 06 07 function two() { 08 three(); 09 } 10 11 function three() { 12 print_r( debug_backtrace() ); 13 } 14 15 /* 16 输出: 17 Array 18

(转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】

原文地址:http://www.cnblogs.com/melonblog/archive/2013/05/09/3062303.html 原文作者:豆浆油条 - melon 本文示例代码测试环境是Windows下的APMServ(PHP5.2.6) 简述 可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器. 好,来复习一下. one(); function one() { two(); } function two() { t

JS动态加载JS与CSS文件

JS动态加载JS与CSS文件 DEMO 一 HTML页面   jsforjscss.html 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"&

Java中动态加载jar文件和class文件

概述 诸如tomcat这样的服务器,在启动的时候会加载应用程序中lib目录下的jar文件以及classes目录下的class文件,另外像spring这类框架,也可以根据指定的路径扫描并加载指定的类文件,这个技术可以实现一个容器,容纳各类不同的子应用. Java类由于需要加载和编译字节码,动态加载class文件较为麻烦,不像C加载动态链接库只要一个文件名就可以搞定,但JDK仍提供了一整套方法来动态加载jar文件和class文件. 动态加载jar文件 // 系统类库路径 File libPath =