У меня проблема с библиотекой форматирования JSTL. Когда я изменил и нажал ссылку на другую подстраницу, он возвращает мне сайт с языком по умолчанию, а не с тем, что я выбрал.
У меня есть четыре файла с сообщениями:
mylabels_pl_PL.properties
mylabels_en_EN.properties
mylabels_de_DE.properties
mylabels.properties
Точкой входа веб-приложения является файл: index.jsp
Содержание:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<c:set var="theLocale" value="${not empty param.theLocale ? param.theLocale : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${theLocale}" />
<fmt:setBundle basename="multilanguage.mylabels" />
<!DOCTYPE html>
<html>
<head>
<title>
<fmt:message key="label.title" />
</title>
<link rel="stylesheet" type="text/css" href="css/index.css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/index.js" async></script>
</head>
<body onload="assignDestinationForm()">
<header class="languages">
<nav>
<ul>
<li>
<a href="index.jsp?theLocale=en_EN">
<img src="img/england.jpg" alt="" id="imgEngland">
</a>
</li>
<li>
<a href="index.jsp?theLocale=de_DE">
<img src="img/germany.jpg" alt="" id="imgGermany">
</a>
</li>
<li>
<a href="index.jsp?theLocale=pl_PL">
<img src="img/poland.jpg" alt="" id="imgPoland">
</a>
</li>
</ul>
</nav>
</header>
<div style="clear: both;"></div>
<header class="title">
<h1>
<fmt:message key="label.title" />
</h1>
</header>
<article>
<section>
</section>
</article>
<div id="container">
<form id="myForm" action="">
<button id="btnSignIn">
<fmt:message key="label.login" />
</button>
<button id="btnSignUp">
<fmt:message key="label.register" />
</button>
</form>
</div>
<footer>
<fmt:message key="label.footer" />
</footer>
</body>
вторая подстраница: login-form.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<c:set var="theLocale" value="${not empty param.theLocale ? param.theLocale : pageContext.request.locale}" scope="session" />
<fmt:setLocale value="${theLocale}" />
<fmt:setBundle basename="multilanguage.mylabels" />
<!DOCTYPE html>
<html>
<head>
<title>
<fmt:message key="label.login" />
</title>
<link rel="stylesheet" type="text/css" href="css/login-form.css">
<script type="text/javascript" src="<%=request.getContextPath()%>/js/index.js"></script>
</head>
<body onload="assignDestinationForm()">
<header class="languages">
<nav>
<ul>
<li>
<a href="login-form.jsp?theLocale=en_EN">
<img src="img/england.jpg" id="btnEngland" alt="">
</a>
</li>
<li>
<a href="login-form.jsp?theLocale=de_DE">
<img src="img/germany.jpg" id="btnGermany" alt="">
</a>
</li>
<li>
<a href="login-form.jsp?theLocale=pl_PL">
<img src="img/poland.jpg" id="btnPoland" alt="">
</a>
</li>
</ul>
</nav>
</header>
<article>
<section>
<h1>
<fmt:message key="label.login" />
</h1>
<div id="container">
<form action="" method="get">
<fmt:message key="label.username" /> <br />
<input type="text" name="userName" id="userName">
<br /><br />
<fmt:message key="label.password" /> <br />
<input type="password" name="password" id="password">
<br /><br />
<button id="btnForm">
<fmt:message key="label.btnLogin" />
</button>
</form>
</div>
</section>
</article>
<footer>
<fmt:message key="label.footer" />
</footer>
</body>
У меня еще есть страница register-form.jsp, но есть только форма для регистрации и она похожа на login-form.jsp.
Как установить, чтобы после нажатия на изображение с флагом страны назначался заданный язык и после нажатия на ссылку на login-form.jsp был выбран тот же язык?