html转义字符显示问题“'”,而不是单引号

时间:2018-08-04 17:53:25

标签: java html angularjs spring-boot

当我将数据保存在Java代码中时,我会使用

HtmlUtils.htmlEscape

转义html字符。

但是,当我取回数据并希望将其显示在html中时(我使用Angularjs 1.6)。转义字符(’')显示不正确。如何使其显示'而不是'

谢谢, 彼得

1 个答案:

答案 0 :(得分:1)

解决方案1:

您可以使用ng-bind-html指令将其显示为html内容,并解码所有html实体。只要确保在您的应用程序中包含ngSanitize依赖项即可。

演示

JAVASCRIPT

angular.module('app', ['ngSanitize'])
  .controller('Ctrl', function($scope) {
       $scope.html = '"12.10 On-Going Submission of ""Made Up""Samples."';
   });

HTML

<body ng-controller="Ctrl">
    <div ng-bind-html="html"></div>
</body>

解决方案2:在控制器中注入$ sce

$scope.html = '&quot;12.10 On-Going Submission of &quot;&quot;Made Up&quot;&quot; Samples.&quot;'
$scope.renderHTML = function(html_code)
{
    var decoded = angular.element('<textarea />').html(html_code).text();
    return $sce.trustAsHtml(decoded);
};

HTML

<div ng-bind-html="renderHTML(html)"></div>