powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC +jQuery
22 сообщений из 22, страница 1 из 1
Spring MVC +jQuery
    #37212941
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть приложение использующее Spring MVC и jQuery, вопрос в том что при передачи AJAX запроса на сервер, в ответе русские буквы отображаются некорректно, не пойму где слетает кодировка, в общем, если кто сталкивался, подскажите пожалуйста как от этого избавиться?
JSP:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html  PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Education center</title>
<script type="text/javascript" src='<c:url value="/resources/jquery/jquery-1.4.4.min.js"/>'></script>
<script type="text/javascript">
    var jq = jQuery.noConflict();
        var i= 0 ;
        function next() {
            i=i+ 1 ;
             jq.post("news/get",
            { 	
                counter:i
            },
            function(data){
                jq("#content").html(data);
            },'html');
 
        }
       
        jq(document).ready(function(){
            jq('#next').click(function(){
                next();
            });
           });
    </script>  
</head>
<body>
<div id="content">
</div>
     <a id="next" href="#">Получить</a>
</body>
</html>
Контроллер:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 import  java.util.Calendar;
 import  java.util.List;
 import  java.util.Locale;
 import  org.springframework.context.MessageSource;
 import  org.springframework.stereotype.Controller;
 import  org.springframework.validation.BindingResult;
 import  org.springframework.web.bind.annotation.ModelAttribute;
 import  org.springframework.web.bind.annotation.PathVariable;
 import  org.springframework.web.bind.annotation.RequestMapping;
 import  org.springframework.web.bind.annotation.RequestMethod;
 import  org.springframework.web.bind.annotation.ResponseBody;
 import  org.springframework.web.servlet.ModelAndView;
 import  org.springframework.ui.Model;
 import  org.springframework.web.bind.annotation.RequestParam;
@Controller
 public   class  NewsController {

    @RequestMapping(value = "/news/get", method = RequestMethod.POST)
     public  @ResponseBody
    String get(@RequestParam(value = "counter", required = true) Integer counter,
            Model model)  {
        String result = "<div id=\"next\">Русский текст</div>";

         return  result;
    }


}
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37212950
Фотография grasoff.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а NewsController в какой кодировке?
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37212955
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grasoff.net,
Всё в UTF-8
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213011
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Динамический запрос всегда передается в utf-8, поэтому искать надо или до передачи серверу, или на сервере, или после получания ответа на клиенте.
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213018
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck, поможете с поиском?)
Если серьёзно то перед тем как написать, проверял, вроде везде UTF-8.
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213029
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кода маловато ... страница с кодом, конфигурацтонные файлы (контроллер вроде есть). Где-то пробел есть ...
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213032
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruck,
Какие конфигурационные файлы вас интересуют?
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213035
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
web.xml и спринговские
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213042
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не поможет?
И еще ... попробуй
Код: plaintext
 return  URLEncoder.encode(result, "UTF-8");
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213101
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
web.xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:config/main-context.xml
        </param-value>
    </context-param>

    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>
            classpath:log4j.properties
        </param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <filter>
		<filter-name>charsetFilter</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>charsetFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

    <!-- MVC STARTS HERE -->
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:config/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup> 1 </load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
	<url-pattern>/</url-pattern>

    </servlet-mapping>
    <!-- MVC ENDS HERE -->

    <!-- /spring security -->
    <session-config>
        <session-timeout>
             30 
        </session-timeout>
    </session-config>

    <welcome-file-list>
        <welcome-file>/login.jsp</welcome-file>
    </welcome-file-list>
</web-app>
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213104
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробовал этот вариант:
Код: plaintext
 return  URLEncoder.encode(result, "UTF-8");
теперь весь ответ приходит примерно вот в таком виде:
%3Cdiv%3E11%2F4%2F2011%3Cbr%3E+%3Ch1%3Etest5%3C%2Fh1%3E
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213170
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему решил, подключив Jackson, в самом приложении нужные данные теперь ходят через него, а принимающий jQuery заточил под его обработку, в любом случае, если у кого есть решение заявленной проблемы, буду рад услышать ответ
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213177
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В "viewResolver" добавить contentType
Код: plaintext
<property name="contentType" value="text/html;charset=UTF-8"/>
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213187
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоН,
вот оно что...
а firebug'ом не смотрели что вам возвращает сервер?
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37213229
Tima_D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоН,
проверил - не помогло
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37385429
grief
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята!

Похожая проблема:
фильтр подключен, файлы в utf-8 но все равно вопросики!
У кого получилось победить подскажите?
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37385456
Фотография dmitriyche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37385459
Фотография dmitriyche
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tomcat connector - 7838866
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37385486
grief
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока сделал так:
index.jsp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Education center</title>
<script type="text/javascript" src='<c:url value="/resources/jquery/jquery-1.4.4.min.js"/>'></script>
<script type="text/javascript">
    var jq = jQuery.noConflict();
        var i= 0 ;
        function next() {
            i=i+ 1 ;
             jq.post("news/get",
            { 	
                counter:i
            },
            function(data){
                jq("#content").html(data);
            },'html');
 
        }
       
        jq(document).ready(function(){
            jq('#next').click(function(){
                next();
            });
           });
    </script>  
</head>
<body>
<div id="content">
</div>
     <a id="next" href="#">Получить</a>
</body>
</html>
content.jsp
Код: plaintext
1.
${content}
Controller.java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
 import  java.util.Calendar;
 import  java.util.List;
 import  java.util.Locale;
 import  java.util.Map;
 import  org.springframework.context.MessageSource;
 import  org.springframework.stereotype.Controller;
 import  org.springframework.validation.BindingResult;
 import  org.springframework.web.bind.annotation.ModelAttribute;
 import  org.springframework.web.bind.annotation.PathVariable;
 import  org.springframework.web.bind.annotation.RequestMapping;
 import  org.springframework.web.bind.annotation.RequestMethod;
 import  org.springframework.web.bind.annotation.ResponseBody;
 import  org.springframework.web.servlet.ModelAndView;
 import  org.springframework.ui.Model;
 import  org.springframework.web.bind.annotation.RequestParam;
@Controller
 public   class  NewsController {

    @RequestMapping(value = "/news/get", method = RequestMethod.POST)
     public  String get(@RequestParam(value = "counter", required = true) Integer counter,
            Map<String, Object> map)  {

        Map.put("content","<div id=\"next\">Русский текст</div>");

         return  "content";
    }


}

Упрощено для понимания. Работает но что то не то явно.((((
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37386257
grief
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmitriyche в server.xml уже прописано

<Connector URIEncoding="utf-8" useBodyEncodingForURI="utf-8" connectionTimeout="20000" port="8084" protocol="HTTP/1.1"
redirectPort="8443"/>

а вот json работает отлично, спасибо!
...
Рейтинг: 0 / 0
Spring MVC +jQuery
    #37387556
Фотография ZeD.ORA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tima_D,

Код: plaintext
1.
request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Spring MVC +jQuery
    #38619518
stim644
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогло это решение :

http://stackoverflow.com/questions/19524958/spring-mvc-response-to-ajax

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@RequestMapping(value = "/addData.html", method = RequestMethod.POST)
public ResponseEntity<String> addNewGroup(@ModelAttribute(value = "group") GroupStudent group, ...

    if(group.getGroupStudentNumber() != null) {
         HttpHeaders headers = new HttpHeaders();
         headers.add("Content-Type", "text/html; charset=utf-8");
         ResponseEntity<String> entity = new ResponseEntity<String>("Группа " + group.getGroupStudentNumber() + " добавлена", headers, HttpStatus.OK);
         return entity;
    } else
        return null;
}
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC +jQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]