jsp中有两种包含模式,一种是<%@ include file="要包含的页面路径" %>,这种叫静态包含,另一种是<jsp:include page="要包含的页面路径" /> ,这叫做动态包含.
静态包含是直接把要包含的页面原样嵌入总的页面后再统一编译,而动态包含总的页面和要嵌入的页面是分开编译的.
现在看到这两种包含的意义了么?jsp是建议我们凡是*.jsp的页面如果要被另一个页面包含,那么应该用<jsp:include ...>动态包含,如果只是html或者是一段文本,那么用动态包含和静态包含都可以.因此原则上我们都倾向于使用<jsp:include>动态包含.
但是我们项目中遇到一种特殊情况:一个动态的*.jsp页面,它里面是动态生成的表单元素,我们把它做为一个组件,其它*.jsp页面如果要用这个组件表单的话直接把它包含到自己页面的<form>标签内.实现这个功能明显应该用动态包含,因为组件jsp的页面完全是"动态"生成的,但是这样做在总页面的js脚本中就有问题了,因为这两个页面是分开编译的,有不同的document树,而总页面中的document是取不到组件jsp页面中的表单元素的,即document.getElementById("组件jsp中的表单元素ID")完全失效.
后来想到一个办法,你知道怎么着?我们把组件的*.jsp改名为*.txt,把里面<%@ page contentType="" %>元素抽到总的页面里去,都不去理会*.txt的java编译报错代码,在总页面中直接<%@ include file=""%>,看到了么?动态的页面用静态包含!这样*.txt 中的代码会原封不动的嵌到总页面中,页面只有一个document树在内存中,这样再document.getElementById("组件中的元素id")就完全没问题了.
由此可见,虽然jsp规范中定义了动态页面的<jsp:include>包含方式,但对一些特殊情况,完全可以绕开jsp规范的限制以求得更加灵活的效果的,以上意见供大家参考,不对之处欢迎斧正!
分享到:
相关推荐
JSP静态包含和动态包含
静态包含在Web开发中,特别是使用Java Server Pages (JSP) 技术时非常常见。它是指在页面被编译之前就将被包含的文件内容合并到当前页面中的过程。这意味着,当服务器第一次接收到请求时,会把被包含文件的内容读取...
JSP中的包含主要有静态包含和动态包含两种方式。 静态包含使用指令元素被包含页面"%>,它在转换成Servlet的过程中将被包含页面的内容直接复制到主体文件中。这种包含方式发生在JSP向Servlet的转换阶段,即JSP源代码...
JSP 中 Include 指令静态导入和动态导入的区别详解 JSP 中的 Include 指令可以实现静态导入和动态导入两种方式。静态导入和动态导入是 JSP 中 Include 指令的两种不同的实现方式,它们之间有着明显的区别。 静态...
本文介绍JSP静态包含语句,即使用JSP的include指令来完成的包含操作。 JSP中,有两种包含其它文件的方式,一种是静态包含,一种是动态包含。本文介绍其中的静态包含。 所谓静态包含,跟ASP中的包含是一样的效果,...
**正文** ...总之,JSP静态化是提升网站性能的有效手段,它结合了动态内容的灵活性和静态页面的高效性。通过合理选用和配置静态化方案,可以显著改善用户体验,减轻服务器压力,同时有利于SEO优化。
在JSP中,我们通常会写一些动态代码,如Java脚本、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)等,这些代码在服务器端执行后生成HTML并发送到客户端。然而,每次用户访问时,服务器...
在JSP中,静态网页是指不包含服务器端脚本或动态元素的网页,通常由纯HTML、CSS和JavaScript组成。下面将详细介绍JSP和创建静态网页的相关知识。 **1. JSP基础** - **JSP语法**:JSP文件是基于HTML的,但可以在...
通过以上步骤,可以在JSP项目中成功实现伪静态技术,从而提升用户体验和SEO效果。需要注意的是,伪静态技术虽然强大,但在实际应用中还需要考虑到性能问题,特别是在高并发的情况下,可能需要进一步优化配置。
在Java EE开发中,动态网页技术如JSP(JavaServer Pages)被广泛用于构建交互式Web应用程序。然而,为了提高网站性能,降低服务器负载,并优化搜索引擎优化(SEO),经常需要将动态JSP页面转换为静态HTML页面。这个...
"标签"中的"jsp 伪静态 java伪静态"进一步强调了这是关于JSP和Java环境下的伪静态实现。在Java中,可以使用Servlet Filter来拦截请求,解析URL路径,然后根据路径信息动态生成内容。这种方式不仅适用于JSP,也适用于...
静态化有助于搜索引擎爬虫更好地抓取和理解网页内容,但要确保静态HTML中包含所有必要的元标签和链接。 4. **安全性** 静态文件可能存在安全风险,比如敏感信息泄露,需要对生成的静态页面进行安全审查。 **四、...
在JSP中实现URL伪静态,我们通常需要以下几个步骤: 1. **配置Web.xml** 在应用的web.xml文件中,我们需要设置URL映射规则,将动态请求映射到对应的JSP页面。这通常通过Servlet或Filter来实现。例如,我们可以创建...
一个JSP文件由两部分组成:静态内容(如HTML、CSS、JavaScript)和动态内容(Java代码)。静态内容用于定义页面的布局和样式,而动态内容则处理服务器端的数据逻辑。在描述的"questionnaire.html"文件中,很可能包含...
例如,在`include1.jsp`中,静态导入`error.jsp`,在最终生成的Servlet类中,你会看到`error.jsp`的所有内容都被包含在内。 2. **动态导入** 动态导入则使用`<jsp:include>`动作元素,语法为`<jsp:include page="{...
JSP中的include指令有两种方式:静态导入和动态导入。了解它们之间的区别,对于开发高效且易于维护的Web应用至关重要。 首先,我们要了解什么是静态导入。在JSP中,静态导入是通过指令%@include file=...
**标题:“jsp生成静态页并分页”** 在Web开发中,JSP(JavaServer Pages)是一种常用的动态...这个过程中涉及到了动态页面与静态页面的转换、数据库查询优化、用户交互设计等多个方面,是Web开发中的一个重要实践。
动态INCLUDE 用法:<jsp page=”included.jsp” flush=”true”> 说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 原因:1、静态include的结果是把其他jsp引入...