2015-02-06 70 views
-1

getRequestDispatcher("xxx")在以下示例中如何從getServletContext()中調用?這樣的調用過程通常如何工作?請給我一個關於這方面的清晰畫面。方法鏈接如何工作?

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/index.jsp"); 
dispatcher.include(request, response); 
+0

您試過Google嗎?https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=getrequestdispatcher%20jsp – OldProgrammer 2015-02-06 13:45:18

+0

維基百科(!)有[可接受的文章鏈接是什麼方法](http://en.wikipedia.org/wiki/Method_chaining)。簡而言之,您將獲取一個方法調用的返回值,並在該返回值上調用方法。 – eebbesen 2015-02-06 13:51:57

回答

5

getServletContext()返回ServletContext對象,它具有一個所謂的getRequestDispatcher()方法。你的代碼行只是簡寫了兩個方法調用,以及相當於此代碼:

ServletContext context = getServletContext(); 
RequestDispatcher dispatcher = context.getRequestDispatcher("/index.jsp"); 
0
一般

method chaining是一個很好的做法實現fluent和靈活的接口。 一般...要實現它,你只需要執行你的代碼並返回當前對象。例如,在Java:

public Criterios<T> setOrdem(String campo, String direcao) { 
    getOrdenacao().set(campo, direcao); 
    return this; 
} 

public Criterios<T> setOrdem(String campo) { 
    return setOrdem(campo, Ordenacao.Direcao.ASC); 
} 

public final Criterios<T> setPagina(int pagina) { 
    getPaginacao().setPagina(pagina); 
    return this; 
} 

public final Criterios<T> setQuantidade(int quantidade) { 
    getPaginacao().setQuantidade(quantidade); 
    return this; 
} 

返回當前對象提供了一遍又一遍相同的API ......但是,通過每次迭代的對象被改變,分步實施,有序。