<%@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
分享到:
相关推荐
动态INCLUDE 用法:<jsp page=”included.jsp” flush=”true”> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...
<%@ include file=""%> 4 动作 1 forward <jsp:forward page=""/> 2 include 动态包含 整合 多个jsp[servlet] 输出结果 request.getRequestDispatcher().include(); <jsp:include page=""/>
<%@ include file="error.html" %> } else { foo.setName(request.getParameter("name")); if (foo.getName().equalsIgnoreCase("integra")) name = "acura"; if (name.equalsIgnoreCase( "acura" )) { %> ...
<%@ include file="conn.jsp"%> sql="select * from users where name='"+name+"' and password='"+password+"'"; ResultSet rs =statement.executeQuery(sql); if (rs.next()) { disable=rs.getBoolean(...
1.声明变量时:<%! int j=1;%>(将变量生成为servlet类的成员变量,多个客户端共享一份)与<...@ include file=”fileURL”%>把被包含的文件原封不动的copy到该位置,然后编译、转换,但只生成一个jav
JSP 中的文件操作...............................................................166 4.1 File 类.........................................166 4.1.1 获取文件的属性............................................
20 void include(String relativeUrlPath) 在当前位置包含另一文件 9.config对象 config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值...
所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; // 全局范围 function test() { global $g_var; // 这样...
145、<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别? 36 146、JSP的缺点? 36 148、如何实现JSP的国际化? 36 150、如何在JSP中包括绝对路径文件? 使用URLConnection即可。 37 151、在...
145、<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别? 36 146、JSP的缺点? 36 148、如何实现JSP的国际化? 36 150、如何在JSP中包括绝对路径文件? 使用URLConnection即可。 37 151、在...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件的...
IVD:超过20/20微观数据维数或变量等级文件 IVP:超过20/20的用户子集配置文件 IVT:超过20/20表或集合数据文件 IVX:超过20/20微数据目录文件 IW:Idlewild屏幕保护程序 IWC:Install Watch文档 J J62:...
17.5.5 (jsp:include) 17.5.6 (jsp:plugin) 17.6 内置对象 17.6.1 out对象 17.6.2 request对象 17.6.3 response对象 17.6.4 session对象 17.6.5 application对象 17.6.6 pageContext对象 17.6.7 exception...
9) aa.jsp与bb.jsp属于同一应用,在aa.jsp中使用<jsp:useBean id="beanName" scope="session" class="mypackage.mybean" />标记,在bb.jsp中要把beanName这个bean对象变量所引用的对象取出来。那么对于以下描述,...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...
7.4.2File类使用示例——文件列表253 7.5随机访问文件254 7.5.1RandomAccessFile类中的方法254 7.5.2RandomAccessFile类使用示例——文件加密256 7.6控制台输入和输出257 7.6.1控制台输入类Scanner257 7.6.2...
file标签:在页面上生成一个上传文件元素。 hidder标签:生成一个不看见的用户输入元素。 select标签:生成下拉列表框。 optiontransferselect标签:创建两个选项以及转移下拉列表项,该标签生成两个下拉列表框,...
B) Test类的对象t可以直接访问month变量,但是不能直接访问day变量,因为day为私有变量,只有类内可以访问。 C) 该程序能通过编译并运行,但是如果想得到输出“I am print in Test”的结果,需要在横线处填写t.show...