jsp页面中引用其他页面的简单方法
发布时间 - 2026-01-11 02:02:34 点击率:次初看这个标题....大家的感觉一定是好2啊.....博主一定要说jsp的动态引用(jsp:include)和静态引用(@include)了。介绍这两者区别的文章已经烂大街了。。一搜一大把。。博主竟然还来介绍这些老古董。。果断alt+F4。。。

如果你确实是这么想的。。。那请先别急着关闭页面。。。今天我来分享一下自己的理解,算是对烂大街的东西的一点补充吧。。。(后面文字会比较啰嗦)
首先先说明下为什么会去讨论这个话题。
我在写自己的博客程序的时候(blogv2.labofjet.com),程序中的目录是需要读取数据库中的数据的,而这个目录是要被多个页面引用的。这个时候该怎么办呢。
我那个时候用的是静态引用,在jsp页面中通过<%@include file="menu.jsp"%>引用这个目录的jsp页面片段(单独为目录做了一个jsp),缺点在于通过不同Controller跳转到不同的page的时候只要这个page包含目录的HTML片段,Controller里就需要去调用目录的dao的方法,然后去给request设置值,这样才能正常显示目录页面。
后来我想了想,我觉得最好能写一个servlet,访问这个servlet的url,就能得到目录的HTML片段,然后在不同的页面中,只要加载这个url就相当于加载了目录的HTML片段。这样的好处在于不同的controller里不再需要调用目录的dao了,只要有一个专门的目录Controller来处理目录的dao并设置request然后返回目录的page就行了。然后我就想到了jsp:include。。。。
然后我就百度了一下烂大街的东西。大部分文章都一个意思,jsp:include可以引用jsp,并动态编译。。blablabla。。。可是它们都没有说明jsp:include可不可以引用servlet呢?我们现在不会去把逻辑放到jsp中的,一般都是放到servlet中然后再跳转到jsp中吧。经过试验我发现是可以的。但是有一些地方比较坑。。。。。需要注意。。。
jsp:include引用jsp的时候完全OK,就是网上大部分文章介绍的内容。
jsp:include引用servlet的时候,这个servlet需要在web.xml里配置过,不然eclipse会给红色波浪线。
不知道大家看了上面的总结有没有产生一个新的问题:现在我们写程序的时候都用一些框架,比如SpringMVC,我们没有在web.xml为每个Servlet单独配置,而是通过SpringMVC自己的配置文件去配置这些Controller(Servlet)的。那么jsp:include还能用吗?
答案是可以的。。。。但是很坑。。。坑就坑在eclipse里还是会划红线,eclipse觉得找不到这个url对应的servlet,但是实际上是可以访问的。
另外还有个小问题,可能是我自己没设置对,我每次jsp:include的时候console里都会报java.io.IOException: Stream closed这个异常,我觉得可能是引用其他servlet的时候其他的servlet自动调用了out的close方法,导致包含其他page的page的内容不能被正常输出。。。。这个问题我没继续研究下去。。。。我想肯定是有解决办法的,但是不是我这篇文章要讨论的重点。
这么说的话现在就有2个小问题了:一个异常,一个eclipse的红线报错。。。虽然也能用,但是让人很不爽。。
所以就找一个替代方法吧。。那就是jstl的c:import
这个标签其实超级简单的。。。比如我把目录HTML片段对应的url设置成了/menu,那我在包含目录的页面中只要
<c:import var="data" url="/menu" />
${data}
就OK了。目录就被包含到其他页面中了。。是不是超级简单呀!
以上这篇jsp页面中引用其他页面的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# jsp页面引用其他页面
# 自己的
# 我在
# 我觉得
# 给大家
# 会报
# 跳转到
# 的是
# 都是
# 加载
# 我想
# 我就
# 如果你
# 让人
# 成了
# 看了
# 有个
# 是有
# 就能
# 多个
# 就有
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信公众帐号开发教程之图文消息全攻略
如何在云主机上快速搭建网站?
JS实现鼠标移上去显示图片或微信二维码
如何用y主机助手快速搭建网站?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
php json中文编码为null的解决办法
如何确保FTP站点访问权限与数据传输安全?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel Session怎么存储_Laravel Session驱动配置详解
Mybatis 中的insertOrUpdate操作
如何挑选优质建站一级代理提升网站排名?
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
如何用IIS7快速搭建并优化网站站点?
如何注册花生壳免费域名并搭建个人网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
软银砸40亿美元收购DigitalBridge 强化AI资料中心布局
佛山企业网站制作公司有哪些,沟通100网上服务官网?
音响网站制作视频教程,隆霸音响官方网站?
音乐网站服务器如何优化API响应速度?
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
如何用搬瓦工VPS快速搭建个人网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
如何在景安服务器上快速搭建个人网站?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
昵图网官网入口 昵图网素材平台官方入口
制作公司内部网站有哪些,内网如何建网站?
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
如何做网站制作流程,*游戏网站怎么搭建?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何登录建站主机?访问步骤全解析
用yum安装MySQLdb模块的步骤方法
Laravel如何保护应用免受CSRF攻击?(原理和示例)
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
在centOS 7安装mysql 5.7的详细教程
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例

