视图层中的特殊字符转换

时间:2016-02-11 09:21:59

标签: java jsp utf-8

我们在DB中有数据包含特殊字符和&amp ;.在视图(jsp)页面中显示数据时,它将替换为&

例如: 数据库用户界面中的Hari & Kishan显示为:Hari & Kishan

目前我们在页面导入中管理了使用charset='UTF-8',但没有将&转换为&的结果。下面是jsp页面中使用的导入代码片段。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>   
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="viewport" content="width=device-width">

任何人都可以帮助解决此问题,以便在视图中显示的值与Db数据类似。

1 个答案:

答案 0 :(得分:0)

您可以使用 JSTL <c:out>标记来执行此操作

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<c:out value="${yourValueFromDB}" /> 

或尝试将所有 & 替换为 &amp;

yourValueFromDB.replaceAll("&(?!amp;)", "&amp;");