首页 > 解决方案 > 我们想为 JSP 页面的 i18n 使用 JSTL FMT 标签,但将语言代码文件夹保留在 url 中以用于 SEO 目的

问题描述

我们使用 JSP fmt 标签国际化了 JSP 页面。我们还想在客户端浏览器的 cookie 中设置语言,以维护所有 jsp 页面的语言。但是为了为我们的语言获得良好的 SEO,我们需要维护http://website.com/en URL,我们有英语的“/en/”和德语的“/de”以及“/it” " 表示我们网址中的意大利语。如果我使用标准方法,我将有一个像这样的网址“ http://website.com/?lang=en ”,谷歌不推荐。我们希望在 url 之后保留带有语言代码的“文件夹”。我不确定 servlet 过滤器是否会起作用,或者最好的解决方案会是什么样子。

我们正处于测试标准方法的阶段,但我们总是在 url 中得到“?lang =”,我们试图弄清楚我们可以做些什么来让它看起来像一个具有不同语言文件夹的普通网站。

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%--<fmt:setLocale value="en" /> --%>
<fmt:setLocale value="${param.lang}" />
<fmt:setBundle basename="roma-vaticano_i18n" />
<html lang="${param.lang}">

...

<!--FIRST BLOCK-->
                       <div class="card-overview">
                        <div class="grid-container full">
                        <div class="grid-x grid-margin-x">
                        <div class="cell large-8 medium-12 small-12">
                      <figure class="card-overview--thumb"><a href="http://www.roma-vaticano.com/en/hotel-highlights/rome/"><img src="http://www.roma-vaticano.com/assets/images/rome-hotel-overview-thumb.jpg" alt=""></a></figure>
                            </div>
                        <div class="cell large-4 medium-12 small-12">
                            <div class="card-overview--content">
                        <h2 class="card-overview--content--title"><a href="http://www.roma-vaticano.com/en/hotel-highlights/rome/"><fmt:message key="Hotel.Highlights.overview.card.overview.title1"/></a></h2>
                        <p><fmt:message key="Hotel.Highlights.overview.card.overview.text1"/></p>
                      </div>

                    </div>
                    </div>
                    </div>
                    </div>
...

预期的结果是该页面将被翻译成英文,因为我们只有用于测试的英文资源包,但在 URL 上使用了“?lang=”扩展名,这是可以的。但如前所述,我们希望在 url 之后有不同的国家文件夹,如“en,de,it”,以便在搜索引擎上获得更好的 SEO。

标签: jspinternationalizationjstl

解决方案


推荐阅读