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

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

6f7e4f66c3e93f1e48fa4ad1b35640cb.png

在vue 项目中嵌入jsp页面

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

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

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

server.vue

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)

});

}

}

}

请求返回的jsp数据格式

2c69d12653f44a376bec5ed8ad4840b5.png

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

/** 常量定义 **/

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";

Docker容器服务器管理

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');

}

页面显示如下:

e1c5aeb91dba3dd4839eab94299061d6.png

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

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

修改后的 server.vue

width="100%" :height="iframeHeight"

frameborder="0" scrolling="no" ref="iframeDom"

>

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;

})

},

}

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

a38e2f10ea56c7394441abd481d6991a.png

还是老式的方法过的奥,测试证明这种方式可行,完美解决问题 嘿嘿。本文转载自:https://blog.csdn.net/qq_34817440/article/details/99764511

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值