JSP Spring MVC UTF-8字符编码

ha5z0ras  于 8个月前  发布在  Spring
关注(0)|答案(4)|浏览(72)

目前,我正在尝试使用Spring MVC开发一个网站。但在我的观点中有一个问题,我们可以称之为性格问题。我想在JSP视图页面中显示UTF-8字符。
在视图页面中,我已经在JSP文件中分离了 headersfootersbodies,并且我正在将我的headers和footers实现到我的bodies中。(以防万一是一件重要的事情要说)。
下面是我的header介绍:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<!--[if lt IE 7]> <html dir="ltr" lang="en-US" class="no-js lt-ie9 lt-ie8 lt-ie7" > <![endif]-->
<!--[if IE 7]>    <html dir="ltr" lang="en-US" class="no-js ie7 lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>    <html dir="ltr" lang="en-US" class="no-js ie8 lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html dir="ltr" lang="en-US" class="no-js">
<!--<![endif]-->

<head>
    <!-- Basic Page Needs
  ================================================== -->
    <meta charset="latin5">
    <title>orcunyilmaz.com</title>
    <meta name="description" content="">
    <meta name="author" content="">
    <!-- Mobile Specific Metas
  ================================================== -->
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
    <script src="<c:url value="/resources/js/galleria-1.4.2.min.js"/> "></script>
    <style>
        .galleria {
            width: 600px;
            height: 300px;
            background: #000;
        }
    </style>
    <!-- CSS
  ================================================== -->
    <link href='http://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
    <link href="<c:url value="/resources/css/foundation.css"/>" rel="stylesheet">
    <link href="<c:url value="/resources/css/foundation-icons.css"/>" rel="stylesheet">
    <link href="<c:url value="/resources/css/flexslider.css"/>" rel="stylesheet">
    <link href="<c:url value="/resources/css/style.css"/>" rel="stylesheet">
    <link href="<c:url value="/resources/css/mediaqueries.css"/>" rel="stylesheet">
    <link href="<c:url value="/resources/colors/default.css"/>" rel="stylesheet">...

下面是我的home.jsp介绍:

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@include file="/WEB-INF/views/template/header.jsp" %>

<div id="page">
<div id="main">
    <div class="row search-bar">
        <div class="three columns"></div>
        <aside class="widget widget_search six columns">
            <form action="/" class="searchform" method="get" role="search">
                <input size="27" type="text" title="Ara.." class="s" name="s"> </form>
        </aside>
        <div class="three columns"></div>...

(If需要整个代码,我可以粘贴在这里)我在这篇文章中找到了答案:Spring MVC UTF-8 Encoding
这意味着我需要在我的web.xml中实现一些过滤器,但它也不起作用。下面是我在web.xml中实现的过滤器:

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

下面是一个零件的sctreenshot:

我需要它被视为:* * 所以任何帮助都将非常感激,提前感谢。

rjzwgtxy

rjzwgtxy1#

要将所有JSP的编码设置为UTF-8,请将以下代码片段添加到web.xml:

<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <page-encoding>UTF-8</page-encoding>
    </jsp-property-group>
</jsp-config>

在这里https://sorenpoulsen.com/utf-8-encoding-a-jsp-with-spring-mvc

xesrikrc

xesrikrc2#

尝试将URIEncoding = "UTF-8"添加到tomcat目录下server.xml中的<Connector >标记中。另外,如果您正在使用Maven,您可以尝试将其添加到pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
... 
</properties>
agyaoht7

agyaoht73#

每个jsp-file都需要这一行:

<%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>

还要检查IDE中的编码。

von4xj4u

von4xj4u4#

我刚开始学习Sping Boot 3。我用Sping Boot 创建简单的Web应用Spring MVC,支持JSP查看页面:将以下代码段添加到pom.xml:

<dependencies> 
        ... 
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>11.0.0-M4</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        ....
 </dependencies>

支持UTF-8编码:按照上面@alex的指示。你看过https://stackoverflow.com/search?q=user%3A1614378+Every+jsp-file+needs+this+line%3A
每个jsp文件都需要这一行:
<%@ page language=“java”pageEncoding=“UTF-8”contentType=“text/html;字符集=UTF-8”%>

相关问题