Я пытаюсь создать простой распознаватель представлений, который возвращает привет мир независимо от того, какое представление вы хотите (в качестве отправной точки).
У меня пока есть это:
public class MyViewResolver extends AbstractTemplateView {
@Override
protected void renderMergedTemplateModel(Map<String, Object> model, HttpServletRequest request,
HttpServletResponse response) throws Exception {
doRender(model, request, response);
}
protected void doRender(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response)
throws Exception {
PrintWriter writer = response.getWriter();
writer.write("hi from my resolver!");
}
}
Теперь я получаю эту ошибку:
2012-03-29 16:51:28.855:WARN:/:unavailable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'viewResolver' defined in ServletContext resource [/WEB-INF/application-context.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property 'url' is required
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
Я реализовал все, что требуется для AbstractTemplateView, не уверен, какое свойство URL запрашивается?
Кроме того, где находится имя представления, котороепередается в этот viewresolver?
Обновление
Итак, я добавил:
@Override
public boolean isUrlRequired() {
return false;
}
И теперь я просто получаю сообщение об ошибке:
HTTP ERROR 404
Problem accessing /home/index. Reason:
NOT_FOUND
В моем application-context.xml есть:
<bean id="viewResolver" class="com.example.MyViewResolver">
</bean>
Что я что-то упустил?