I am trying to create a simple view resolver that returns hello world no matter what kind you want (as a starting point).
I still have this:
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!");
}
}
Now I get this error:
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)
I have implemented everything that was required in AbstractTemplateView, but not sure what the url property is requesting?
Also, where is the name of the view that is passed to this viewresolver?
Update
So I added:
@Override
public boolean isUrlRequired() {
return false;
}
And now I get an error, for example:
HTTP ERROR 404
Problem accessing /home/index. Reason:
NOT_FOUND
In my application-context.xml there is:
<bean id="viewResolver" class="com.example.MyViewResolver">
</bean>
What am I missing?
source
share