vue项目怎么嵌入jsp页面?(方法介绍)

码农天地 -
vue项目怎么嵌入jsp页面?(方法介绍)
vue项目怎么嵌入jsp页面?下面本篇文章给大家介绍一下在vue项目中嵌入jsp页面的方法,文中通过示例代码介绍的非常详细。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

在vue 项目中嵌入jsp页面

今日一个项目中一块功能模块是其他系统使用jsp已经开发好的页面,想着直接将其嵌入到当前的vue项目中节约开发成本;但是发现并非想象的那么简单

创建一个server.vue组件加载jsp页面

1 、第一种(使用 v-html进行jsp 渲染)

server.vue

<template> <div class="docker-server"> <div v-html="pageContent"></div> </div></template><script type="text/ecmascript-6"> export default { name: "server", data(){ return{ pageContent:'', } }, created(){ this.getDockerPage(); }, methods:{ getDockerPage() { // $post为全局的axios post请求对象;dockerMange 为后端ip let url = `${api_config.dockerMange}/core/funcs/system/docker/server/index.jsp`; this.$post(url).then(res => { console.log(res); this.pageContent = res.data; }).catch(err => { console.log(err) }); } } }</script><style scoped></style>

请求返回的jsp数据格式

后台返回的 index.jsp 内容如下:

<!DOCTYPE html><script type="text/javascript">/** 常量定义 **/var TDJSCONST = { YES: 1, NO: 0};/** 变量定义 **/var contextPath = "/docker";var imgPath = "/docker/core/styles/style1/img";var ssoUrlGPower = "";var limitUploadFiles = "jsp,java,jspx,exe"var signFileServiceUrl = http://**/BjfaoWeb/TitleSign";var isOnlineEval = "0";var useSearchFunc = "1";var maxUploadSize = 500;var isDev = "0";var ostheme = "1";</script><html style="overflow: hidden;"><head> <title>Docker容器服务器管理</title> <!-- http://** 我为保护服务ip 而手动更改了 --> <link rel="stylesheet" href="http://**/docker/core/styles/style1/css/views.css" type="text/css"/> <link rel="stylesheet" href="http://**/docker/core/styles/style1/css/cmp/tab.css" type="text/css"/> <link rel="stylesheet" href=http://**/docker/dist/css/common.css"> <link rel="stylesheet" href="http://**/dist/css/iconfont.css"> <script type="text/Javascript" src=http://**/docker/core/js/datastructs.js"></script> <script type="text/Javascript" src="http://**/docker/core/js/sys.js"></script> <script type="text/Javascript" src="http://**/docker/core/js/prototype.js"></script> <script type="text/Javascript" src="http://**/docker/core/js/smartclient.js"></script> <script type="text/Javascript" src="http://**/docker/core/js/cmp/tab.js"></script> <script type="text/javascript"> function doInit() { var tabArray = [{ title: "容器服务器管理", content: "", contentUrl: "http://**/docker/core/funcs/system/docker/server/manage.jsp", imgUrl: "http://**" + imgPath + "/cmp/tab/sys_config.gif", useIframe: true }, { title: "新增容器服务器", content: "", contentUrl: "http://**/docker/core/funcs/system/docker/server/edit.jsp", imgUrl: "http://**" + imgPath + "/cmp/tab/sys_config.gif", useIframe: true }]; buildTab(tabArray, 'contentDiv'); } </script></head><body onload="doInit();"><div id="contentDiv"></div></body></html>

页面显示如下:

因:jsp页面只是写了几个标签,其他数据都是通过外部js中的方法动态渲染出来的,然而使用v-html只是将jsp 页面加载到了当前页面上,但是没有将js 再次load进来;所以页面上就只有几个没有用的标签!最终确认这种方法不可行

2、 第二种(使用 iframe 进行jsp嵌入)

修改后的 server.vue

<template> <div class="docker-server"> <iframe name = "iframeChild" id = "iframeChild" v-bind:src="getPageUrl" width="100%" :height="iframeHeight" frameborder="0" scrolling="no" ref="iframeDom" ></iframe> </div></template><script type="text/ecmascript-6"> export default { name: "server", data(){ return{ iframeHeight:500, getPageUrl:`${api_config.dockerMange}/core/funcs/system/docker/server/index.jsp?MySessionId=${JSON.parse(sessionStorage.getItem("userInfo")).userToken}` } }, mounted: function () { this.$nextTick(() => { if(this.$refs.iframeDom) this.iframeHeight = window.innerHeight - this.$refs.iframeDom.$el.offsetTop; }) }, }</script><style scoped></style>

这次终于对了运行效果如下:

还是老式的方法过的奥,测试证明这种方式可行,完美解决问题 嘿嘿。

本文转载自:https://blog.csdn.net/qq_34817440/article/details/99764511

更多相关知识,请访问 PHP中文网!!

以上就是vue项目怎么嵌入jsp页面?(方法介绍)的详细内容,更多请关注php中文网其它相关文章!

微信分享相关标签:vue jsp本文转载于:csdn,如有侵犯,请联系a@php.cn删除上一篇:JavaScript 复杂判断的优雅写法下一篇:为了性能选择for循环遍历吗?

相关文章

相关视频

使用 Laravel Sanctum 对 Vue ...Vue 和 Yii 怎么配合?为什么vue不使用ajax在 Vue 中使用分页这 10 个技巧让你更好的成为 Vue 开发者vue项目怎么嵌入jsp页面?(方法介绍)使用vue.js做一个tooolist2vue.js组件1(父向子组件传参)VUE基本介绍

网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论立即提交专题推荐独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

作者信息

青灯夜游

今天学习一小步,明天提升一大步

最近文章HTTPS怎么保证安全?(详解)434利用原生js实现html5打砖块小游戏(代码示例)874HTML5 canvas如何实现代码流瀑布?(附代码)911发布技术文章最新文章热门排行

分享十个实用的单行 JS 代码JS内置对象 Math 和 Date 的详解js怎么获取网站的url详解获取JavaScript各种全局对象变量的方法一些值得收藏的JavaScript经典实例使用async属性异步加载执行JavaScript的方法用JavaScript获取图片的真实尺寸大小的方法详解JavaScript事件委托的技术原理

RN布局的实例详解jQ选择器汇总JS是什么意思json格式是什么?json格式文件怎么打开?vue.js中created方法的使用详解echarts柱状图颜色设置:echarts柱状图如何设置不同颜色?(代码)js数组如何删除指定位置的元素?删除指定位置元素的2种方法怎样实现Vue项目中使用Vux推荐视频教程麦子学院Vue.js视频教程Vue2.0入门及学习实战项目视频教程Vue框架视频教程视频教程分类php视频教程html视频教程css视频教程JS视频教程jQuery视频教程mysql视频教程Linux视频教程Python视频教程article_status = 287557;网站首页 PHP视频PHP实战PHP代码PHP手册词条手记编程词典

php中文网:公益在线php培训,帮助PHP学习者快速成长! 合肥彼岸互联信息技术有限公司

Copyright 2014-2020 https://www.php.cn/ All Rights Reserved | 皖B2-20150071-9 皖公网安备 34010402701654号 关于我们免责申明赞助与捐赠广告合作

座机号码:0551-64933227  安徽省合肥市政务新区置地广场D座2101

  var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?8cc45d54c337ca616c34b1cf747da91c";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();$('.content').viewer();
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

加个好友,技术交流

1628738909466805.jpg