2012-08-08 65 views
0

我擴展了JSTL視圖類來實現我自己的視圖解析器。但是,我有這個問題。看看我的代碼:擴展JSTL視圖類

public class TestView extends JstlView { 
    private String fo_suffix = "_jo"; 

    public void setUrl(String url) 
    { 
     //We need to change the inputed url to add a prefix for fo 
     super.setUrl(url.replace("\\.jsp", fo_suffix+ ".jsp")); 
    } 
    public void render(Map<String, ?> model, HttpServletRequest request, 
      HttpServletResponse response) throws Exception { 
     final StringWriter xmlfo = new StringWriter(); 

     HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper(
       response) { 
      @Override 
      public PrintWriter getWriter() throws IOException { 
       return new PrintWriter(xmlfo); 
      } 
     }; 



     super.render(model, request, wrapper); 

在上面的代碼,當我調試,控制從來沒有談到setUrl方法。因此,在內部RequestDispatcher中url始終爲空。

請幫我解決問題。

回答

0

不要忘了把TestView在 「myServletName」 -servlet.xml後綴

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="viewClass" value="test.TestView"/> 
....