将jsp中共同部分分出一个jsp
来源:互联网 发布:centos开启3306端口 编辑:程序博客网 时间:2024/06/18 00:08
原文:https://jingyan.baidu.com/article/5d368d1e032cbe3f60c05785.html
做jsp的大家都知道,有两种include其他页面的方法,一种是说明标签<%@ include file="xxx.jsp"%>,一种是动作标签<jsp:include page="xxx.jsp"/> 。
我在动态网页制作教程中a.jsp页面上定义了一个 String path = request.getContextPath() , 而这个页面用说明标签引入了一个b.jsp ,而这个上面也需要一个String path = request.getContextPath() , 结果打开a.jsp时报错了,说path这个变量已经定义过了。查看其他同样也引了b.jsp的页面,他们也定义了path这个字符串变量,却没有这种错误,我刚开始还挺纳闷,后来发现他们和a.jsp所引入的方法是不一样的----都是动作标签。
后来把a.jsp改了之后,问题就不再出现了。回想书上说,说明标签是静态引入,动作标签是动态,当初不太明白,现在一想也许是这样的:静态引入是把b.jsp的源码拼接到a.jsp中,在一块编译,这样两者代码是加到一起的,所以b.jsp定义的path就形成了重复;而动态引入则是分开编译两个jsp,把行成的html再加到一起,所以不会出现重复定义的问题。
试了一下证实自己的想法:在用<%@ include 时 ,把b.jsp定义的path去掉,结果它就可以使用a.jsp定义的变量,没有错误;而用<jsp:include时,去掉b.jsp的path变量,则会使编译不通过,应该就是单独编译b.jsp时,发现有使用了"path"而“path”没有被定义。
JSP 语法
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
or
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
</jsp:include>
Examples
<jsp:include page="scripts/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="/index.html" />
<jsp:include page="scripts/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:include>
描述
<jsp:include>元素允许你包含动态文件和静态,这两种包含文件的结果是不同的。如果文件仅是静态文件,那么这种包含仅仅是把包含文件的内容加到jsp文件中去,而如果这个文件动态的,那么这个被包含文件也会被Jsp编译器执行(这一切与asp相似)
你不能从文件名上判断一个文件是动态的还是静态的,比如aspcn.asp 就有可能只是包含一些信息而已,而不需要执行。<jsp:include>能够同时处理这两种文件,因此你就不需要包含时还要判断此文件是动态的还是静态的.
如果这个包含文件是动态的,那么你还可以用<jsp:param>还传递参数名和参数值。
属性
page="{relativeURL | <%= expression %>}"
参数为一相对路径,或者是代表相对路径的表达式.
flush="true"
这里你必须使用flush="true",你不能使用false值.缺省值为false
<jsp:param name="parameterName" value="{parameterValue | <%= expression %> }" />+
<jsp:param>子句能让你传递一个或多个参数给动态文件
你能在一个页面中使用多个<jsp:param>来传递多个参数。
就可以用些框架来实现了. 比如 sitemesh .它有自己的标记语言,还是比较简单的,学习成本也不是很大.
- 将jsp中共同部分分出一个jsp
- 使用jsp的include标签解耦页面中共同部分
- JSP文件的编写过程中共有三种注释方法
- js,jsp部分代码
- 淘宝商城jsp部分
- JSP部分,学习JSTL
- JSP部分注意事项
- jsp的部分用法
- JSP复习----html部分
- java面试(jsp部分)
- 部分的ul&jsp
- 从一个数组中删除 与另一个数组中共同存在的元素
- 一个jsp引入另一个jsp
- 将index.jsp去掉
- 将一个字符长串分出单词(林大oj1002)
- 实现一个jsp页面2种格式,隐藏部分部件,显示部分部件
- jsp服务器部分环境变量配置
- Servlet和Jsp 重点部分
- Android四大组件之广播总结
- 开发工程师面试总结
- mac下ios内侧分发平台搭建
- 微信小程序语音转化为文字
- 【爬虫系列】第二部分 网页解析Jsoup
- 将jsp中共同部分分出一个jsp
- vue2.0+vue-router2.0+axios+webpack开发webapp项目(三)
- ArrayList,Iterator,try-catch
- 图灵
- 阿里云linux安装 jsp 环境
- 《大象 Thinking in UML》学习笔记(五)——UML核心元素之关系、组件和节点
- Android开发中dip,dpi,density,px等详解
- 笔记本电脑如何保养电脑电池?
- 用sum case when做分类统计sql优化