我試圖創建一個簡單的視圖解析器,無論您想要什麼視圖(作爲起點),都會返回hello world。在Spring MVC中創建自定義視圖解析器:屬性'url'是必需的
我有這個至今:
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)
我已經實現的任何要求,不知道它叫什麼url屬性爲AbstractTemplateView?
此外,傳遞給此viewresolver的視圖的名稱在哪裏?
更新
於是我說:
@Override
public boolean isUrlRequired() {
return false;
}
而現在我只是得到一個錯誤,如:
HTTP ERROR 404
Problem accessing /home/index. Reason:
NOT_FOUND
我的應用程序的context.xml有:
<bean id="viewResolver" class="com.example.MyViewResolver">
</bean>
我在想什麼?
開始 - 爲什麼你需要一個新的解析器。然後,您應該只需放置一個斷點並追蹤到底發生了什麼以及NOT_FOUND從哪裏返回。這就是我的調試意思。 – Bozho 2012-04-07 10:57:29