0

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 は常に null です。

問題を解決するために私を助けてください。

4

1 に答える 1

0

TestView を "myServletName"-servlet.xml に入れることを忘れないでください

<bean id="viewResolver"    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="test.TestView"/>
....
于 2013-01-08T13:59:09.623 に答える