#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>
В этом примере время будет отображаться каждый раз, когда вы нажимаете на кнопку «Получить время».
С наилучшими пожеланиями