首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JSP页面样式乱掉:JS编码&解码&HTML转义escape , unescapeJSP页面样式乱掉:JS编码&解码&HTML转义escape , unescape原因分析解决方案测试验证

JSP页面样式乱掉:JS编码&解码&HTML转义escape , unescapeJSP页面样式乱掉:JS编码&解码&HTML转义escape , unescape原因分析解决方案测试验证

作者头像
一个会写诗的程序员
发布于 2018-08-20 01:39:11
发布于 2018-08-20 01:39:11
3.3K00
代码可运行
举报
运行总次数:0
代码可运行

JSP页面样式乱掉:JS编码&解码&HTML转义escape , unescape

Blog功能模块,显示文章详情,文章内容中有jsp代码,页面乱掉。如下图所示

原因分析

在如下的HTML/JSP源代码中,有特殊字符(比如说,html标签,</textarea>)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<textarea>HTML/JSP源代码</textarea>

导致页面样式乱。

解决方案

对“HTML/JSP源代码”这段文本进行escape编码。在js中再进行解码。

jsp页面中对文本的输出进行escape编码,escapeXml="true":

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%--escapeXml:是否转换特殊字符--%>
        <textarea id="blogContent" style="display: none"><c:out value='${blog.content}' escapeXml="true"></c:out></textarea>

在js中对编码后的文本作解码unescape处理:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Created by jack on 2017/3/29.
 */

define(function (require) {
    "use strict";
    require('meditor');

    $(function () {
        var parser = new Mditor.Parser();
        // var blogContent = document.getElementById('blogContent').innerHTML;//这个遇到<>等特殊字符会被转译
        var blogContent = document.getElementById('blogContent').value; //直接取原本的字符串。不会被转译,默认html页面中textarea区域text需要escape编码
        blogContent = unescape(blogContent);//unescape解码
        var html = parser.parse(blogContent);

        $('#rest-blog-body').append(html);


        hljs.initHighlightingOnLoad();
        //源码高亮
        $('pre code').each(function(i, block) {
            hljs.highlightBlock(block);
        });


        //编辑文章
        $('#goEditBlog').on('click',function () {
            var blogId = $('#blogId').val();
            location.href = 'goEditBlog?id=' + blogId;
        });

    });

});

测试验证

验证OK。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.05.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
聊一聊无服务器与微服务架构的奥秘
微服务和无服务器架构是云原生计算世界中的热门话题之一,虽然大多数人认为这些架构类似,但它们在软件开发中能够发挥出不同的作用。本文将概述了微服务和无服务器架构的区别以及如何相辅相成。
TARS基金会
2022/04/18
1.4K0
聊一聊无服务器与微服务架构的奥秘
从零开始掌握微服务软件测试
顾翔老师近期推出一对一入职面试辅导。有兴趣者可加微信xianggu19720625与我联系。先要提供简历初选,合适者进一步洽谈。
顾翔
2020/01/17
6090
从零开始掌握微服务软件测试
Serverless 微服务持续交付案例
“Serverless 风格微服务的持续交付(上):架构案例”中,我们介绍了一个无服务器风格的微服务的架构案例。这个案例中混合了各种风格的微服务
顾宇
2018/08/17
1.7K0
「自动化测试」微服务自动化测试简介
微服务 - 也称为微服务架构 - 是一种构建方式,它将应用程序构建为松散耦合服务的集合,具有完整的业务功能。微服务架构允许连续交付/部署大型复杂应用程序。本文将概述自动微服务测试工具和最佳实践。
架构师研究会
2019/08/16
2.4K0
微服务架构下的测试应对策略(下)
消费者驱动契约测试的流程是,消费者定义他们期望的API或消息是什么样子,这些期望即为契约,从这些契约可以生成存根,此后消费者团队可以在构建过程中重复使用它们。消费者和生产者都需要验证契约。
袁慎建@ThoughtWorks
2018/09/29
1.2K0
微服务架构下的测试应对策略(下)
微服务开发中5个惨痛教训
基于微服务的开发正在改变我们整个行业,超过70%的人正在尝试开发基于微服务的软件。微服务简化了业务、流程、技术和人员的集成,将大爆炸的整体问题分解为一个可以独立处理的小集合。然而,它也带来了管理这些小集合之间关系的问题。我们需要不同的过程、工具、培训、方法和团队来简化微服务开发。
程序你好
2018/07/26
7560
微服务开发中5个惨痛教训
微服务测试的思考与实践 | 洞见
最近几年,微服务架构越来越火爆,逐渐被企业所采用。随着软件架构的变化,对应的软件测试策略需要作何调整呢?本文将介绍微服务架构下的测试策略,并结合分享在业务和架构演变过程中,一个历经九年的项目测试策略的演进。
ThoughtWorks
2018/12/13
1.1K0
干货 | 基于 DevOps 的微服务生态系统与工程实践(三)
往期回顾: 第一部分:微服务与 DevOps 干货 | 基于 DevOps 的微服务生态系统与工程实践(一) 第二部分:微服务生态系统 干货 | 基于 DevOps 的微服务生态系统与工程实践(二) 前言 从2014年开始,当我接触微服务之后,我发现在微服务的演进过程中,开发和测试、运维需要相亲相爱,紧密合作,才能取得理想的效果。 本系列文章主要包括三部分内容: 第一部分:微服务与 DevOps; 第二部分:微服务生态系统; 第三部分:微服务架构的工程实践; 本文着重介绍第三部分:微服务架构的工程实践。
DevOps时代
2018/02/02
6170
干货 | 基于 DevOps 的微服务生态系统与工程实践(三)
微服务架构下的测试之道
1.系统架构的演变 伴随着互联网的快速发展,Web应用系统从面向企业内部发展到面向市场用户,业务的日趋复杂以及用户量的上升,那些曾经工作良好的单体应用开始遇到开发、测试、部署、发布各个方面的瓶颈,诸如扩展新增功能艰难、系统庞大难以维护、编译太耗时,发布流程太慢等问题困扰着开发团队。 SOA的问世促使系统架构发生了跨越式的演变,它提出了面向服务的架构思想,将系统拆分成多个服务组件,并通过ESB(企业服务总线)对服务组件进行统一管理,但重量级的ESB使得自身又成为了一个瓶颈。随之而来的是近来业界流行的微服务架
架构师小秘圈
2018/04/02
2.4K0
微服务架构下的测试之道
微服务的测试策略
作者 | Tomas Fernandez 译者 | 平川 微服务应用程序是一组通过网络进行通信的分布式程序,有时也会与第三方服务和数据库交互。微服务是网络化的,与传统的单体应用程序相比,它的故障点更多。为此,我们需要一种不同的、涉及面更广的测试方法。那么,我们该如何测试一个微服务应用程序?测试金字塔还有效吗?当涉及到第三方服务并可能出现网络中断时,我们该如何测试?在这篇博文中,我们将尝试回答所有这些问题。 本文最初发布于 semaphore 博客。 微服务应用程序是一组通过网络进行通信的分布式程序
深度学习与Python
2023/03/29
9140
微服务的测试策略
微服务下产品集成和集成测试框架流程
今天谈下微服务架构下的应用集成和集成测试方面的内容。在微服务架构下,由于传统的的单体应用以及拆分为多个微服务,那么原来单个系统内部的API接口调用以及变成了微服务间的外部接口调用,而且还可能已经由不同的开发团队在开发不同的微服务模块。
人月聊IT
2025/06/24
710
微服务下产品集成和集成测试框架流程
无服务器化的微服务持续交付
前言 我在刚进入 ThoughtWorks 的时候就做微服务,当时不知道什么叫做微服务,只是我们通过一个小的技术应用替换原先的大应用的一个部分,当时只是做一个解耦,后来等微服务的概念兴起的时候才知道我们当时做的是微服务,这是我做微服务的起因。 最近在做 DevOps 的一些咨询,在海外做一些互联网行业的并购,用了 DevOps 的相关技术。这次我就讲一下我之前做的一个案例,就是无服务化的微服务的持续交付。 一 什么是无服务器架构 无服务器架构,这个词2012年就已经出现了,当时是因为移动互联网兴起。大家会发
DevOps时代
2018/02/02
1.8K0
无服务器化的微服务持续交付
华为专家 | 轻量化微服务测试实践
前言 在我过去工作的这十年间,IT行业经历了很多的变迁,从单体架构到微服务架构,从传统组织到敏捷组织,我正好都有不同的体验,现在我在华为任软件架构师,华为有各种各样的产品线,我的工作职责之一是帮助产品团队构建软件工程能力,以及落地Cloud Native、微服务还有DevOps的相关实践,另外我同时也是几本书和资料的译者或作者。 我之前在比较早的传统团队里面去做研发工作时,测试主要采用手工的方式,其实这种日子是比较苦的,可能一直要加班到深夜,正式上线的时候还会提心吊胆,担心哪些功能会挂掉。 后来引入了自动化
DevOps时代
2018/02/02
2.9K0
华为专家 | 轻量化微服务测试实践
测试微服务的4个最佳实践
随着微服务架构的出现,应用程序堆栈发生了根本性的变化,这对软件测试产生了连锁反应。每天多次发布微型版本,软件测试更加精细,它与开发同时发生,并且与测试单体应用程序有根本的不同。
lyb-geek
2018/12/28
7390
基于 DevOps 的微服务生态系统与工程实践(三)
DevOps时代
2017/07/20
1.2K0
基于 DevOps 的微服务生态系统与工程实践(三)
【云端风云:云计算全局解密】一篇文章读懂云计算技术及其未来发展趋势
在当今数字化浪潮中,云计算如一颗闪烁的科技明珠,为企业和个人带来了前所未有的灵活性、效率和创新力。本文将带领读者深入探索云计算的核心概念、关键服务模型以及未来发展趋势。云计算不仅是数字化时代的基石,更是推动创新和变革的引擎。站在云端风云之巅,我们将解析云计算的奥秘,揭晓数字化未来的蓬勃蔓延。通过这场科技奇迹的探索,我们将共同领略云计算为全球带来的变革,见证科技与未来的奇妙融合。
奥耶可乐冰
2023/11/24
1.6K0
【云端风云:云计算全局解密】一篇文章读懂云计算技术及其未来发展趋势
干货 | 携程微服务架构下的测试浅谈
施赛花,携程机票BU测试工程师,主要负责携程机票聚合层服务的测试,以及自动化工具的开发。善于研究新技术,并转用于实践,提升测试工作效率。
携程技术
2019/04/22
5860
干货 | 携程微服务架构下的测试浅谈
提升微服务测试效率:消费者驱动契约测试
在软件工程的世界里,我们经常面临变化。微服务不仅改变了软件的体系结构,而且改变了团队的组织方式和协作方式。
yuanyi928
2018/12/06
1.3K0
无服务器架构中的十大安全风险
无服务器架构(作为服务或FaaS的功能)是应用程序在其上构建和部署后,可以根据云工作负载流自伸缩的架构。从开发的角度来看,无服务器架构主要关注核心功能,而忽略所有底层约束,如操作系统、运行时环境、存储等。
程序你好
2018/09/29
1.8K0
无服务器架构中的十大安全风险
微服务下的契约测试(CDC)解读
有近两周没有在公众号中发表文章了,看过我之前公众号的读者都知道,公众号中近期在连载《RobotFramework接口自动化系列课程》,原本计划每周更新一篇,最近由于博主在带一个新项目,实在是没空抽出时间来,所以向公众号中对连载课程一直期待的读者说声抱歉。
测试开发技术
2020/01/17
1.5K0
微服务下的契约测试(CDC)解读
推荐阅读
相关推荐
聊一聊无服务器与微服务架构的奥秘
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验