Я хочу создать фиктивный проект весной mvc, используя локализацию (я хочу полностью поддерживать UTF-8 в моем веб-приложении) с Eclipse Java EE IDE для веб-разработчиков, использующих версию 4.7.0 Oxygen Release и версию Apache Tomcat Server-9,0.Все работало нормально, но когда я нажимаю на ссылку «хинди».Это кодирует по-разному.Ниже следует мой код.
Вот мой dispatcher-servlet.xml: -
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <context:component-scan base-package="dummy" /> <mvc:annotation-driven /> <bean id="viewResolver2" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>WEB-INF/views/</value> </property> <property name="suffix"> <value>.jsp</value> </property> <property name="order" value="1" /> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> <property name="defaultLocale" value="en" /> </bean> <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="language" /> </bean> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="language" /> </bean> </mvc:interceptor> </mvc:interceptors> <bean id="CookielocaleResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"> <property name="cookieName" value="language" /> <property name="defaultLocale" value="en" /> </bean> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="basename" value="WEB-INF/messages/messages" /> <property name="defaultEncoding" value="UTF-8" /> </bean> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"> <property name="interceptors"> <list> <ref bean="localeChangeInterceptor" /> </list> </property> </bean>
А вот мой Login.jsp: -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <title>Login Form</title> <html lang="en" dir="ltr"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery- validate/1.19.0/jquery.validate.min.js"></script> </head> <body> <spring:message code="login.placeholder.username" var="login.placeholder.username"> </spring:message> <spring:message code="login.placeholder.password" var="login.placeholder.password"> </spring:message> <div class="container"> <div class="rows"> <div class="col-sm-6"> Language : <a href="?language=en">English</a>|<a href="?language=hi">Hindi</a> <form name="formdemo" method="post" id="form" novalidate="novalidate"> <div class="form-group"> <label for="username"><spring:message code="login.label.username" text="username" /></label> <input type="text" name="username" id= "username" placeholder="${login.placeholder.username}" class="form-control" required /> </div> <div class="form-group"> <label for="password" ><spring:message code="login.label.password" text="Password"/></label> <input id="password" type="password" name="password" placeholder="${login.placeholder.password}" class="form-control" required /> </div> <div id="result"></div> <button type="submit" id ="submit" class="btn btn-primary"><spring:message code="login.controls.submit" text="Submit" /></button> <button type="button" class="btn btn-primary" onclick="location.href='printAllUsers'"><spring:message code="login.controls.ShowAll" text="ShowAllUsers" /></button> </form> </div> </div> </div>
Ниже приведены мои скриншоты, которые помогут вам в дальнейшем.
Вот мой макет проекта: -
Этомой приветственный файл для входа на английском языке: -
И когда я нажимаю «Хинди», он должен быть переведен на язык хинди.Но следующее изображение отображается необычно: -
Что не так с моим кодом?Кто-нибудь указывает на мою ошибку здесь?Пожалуйста, кто-нибудь может мне помочь с этим вопросом?