Spring MVC 2.x с ajax с использованием jquery и т. Д.

#ajax #spring #model-view-controller

#ajax #весна #модель-представление-контроллер

Вопрос:

 I have a scenario of ajax call to spring mvc controller to get the text.
  

Пожалуйста, приведите пример этого.
Я должен использовать Spring 2.x, а не spring 3.x.

 like:

Model m=new HashMap();
m.put("textToAjax","Sample");
return new ModelAndView("",m);

And i need to get this text, ie Sample on my jsp text box.

Tha ajax call is like

 $.ajax({
        type:"GET",
        url:"test.hmtl?method=getTextName",
                .............
});

Please correct this and help me with full example.enter code here
  

Ответ №1:

вот как я сейчас делаю, и это работает:

Сопоставьте test.html к тестовому контроллеру:

 /test.html=TestController
  

Объявить TestController в dispatcher-servlet.xml:

 <bean id="TestController" class="com.aeps.planair.fo.controller.TestController"></bean>
  

Создайте простой файл представления «result.jsp» для отображения ответа ajax:

 ${result}
  

Сопоставьте это представление:

 result.(class)=org.springframework.web.servlet.view.JstlView
result.url=/WEB-INF/ajaxview/result.jsp
  

Разработка тестового контроллера:

 public class DateController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String nowTime = Date().toString();
            ModelAndView modelAndView = new ModelAndView("result");
            modelAndView.addObject("result", nowTime);
            return modelAndView;
    }
}
  

Теперь в вашем html-файле вы можете вызвать TestController следующим образом:

 <head>
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
        function doAjax() {
            $.ajax({
                url : 'test.html',
                success : function(data) {
                    $('#time').html(data);
                }
            });
        }
    </script>
</head>

<body>
    <button id="demo" onclick="doAjax()" title="Button">Get the time!</button>
    <div id="time"></div>
</body>
  

В этом примере время будет отображаться каждый раз, когда вы нажимаете на кнопку «Получить время».

С наилучшими пожеланиями