FrontController, Command

no link J2EE Core Patterns
tem o seguitne código:

/** This processRequest method is invoked from both 
  * the servlet doGet and doPost methods **/
protected void processRequest(HttpServletRequest 
  request, HttpServletResponse response)
  throws ServletException, java.io.IOException {

  String resultPage;
  try {
    RequestHelper helper = new RequestHelper(request);

    /** the getCommand() method internally uses a 
     factory to retrieve command objects as follows:
     Command command = CommandFactory.create(
        request.getParameter("op"));
    **/
     Command command =  helper.getCommand();
 
    // delegate request to a command object helper
    resultPage = command.execute(request, response);
  }
  catch (Exception e) {
    LogManager.logMessage("EmployeeController",
      e.getMessage() );
    resultPage = ApplicationResources.getInstance().
                      getErrorPage(e);
  }

  dispatch(request, response, resultPage);
}

ok até ai blz…
Usa um helper para achar qual command executar … executa o command para pegar a pagina para dar um dispacher

a duvida é:
onde eu posso passar os valores para a view ?
adicionar pelo command ? request.setAttribute ?
alias… command acessa os dados da persistencia (Daos etc…) ? se não … quem seria ?

vlw :wink:

Editado:

Alias axo que achei a resposta embora nao tenha gostado…

no link Service To Worker

eu não gostaria de passar o request e response pro command por ficar preso ao hambiente web
dai fiz uma interface RequestData (com getValue, getSize…) e implementei em HTTPRequestData assim posso passar o request para ela
e passar um RequestData para o command…

alguem faz de outro jeito ?

[quote=maniacs]no link J2EE Core Patterns
tem o seguitne código:

/** This processRequest method is invoked from both 
  * the servlet doGet and doPost methods **/
protected void processRequest(HttpServletRequest 
  request, HttpServletResponse response)
  throws ServletException, java.io.IOException {

  String resultPage;
  try {
    RequestHelper helper = new RequestHelper(request);

    /** the getCommand() method internally uses a 
     factory to retrieve command objects as follows:
     Command command = CommandFactory.create(
        request.getParameter("op"));
    **/
     Command command =  helper.getCommand();
 
    // delegate request to a command object helper
    resultPage = command.execute(request, response);
  }
  catch (Exception e) {
    LogManager.logMessage("EmployeeController",
      e.getMessage() );
    resultPage = ApplicationResources.getInstance().
                      getErrorPage(e);
  }

  dispatch(request, response, resultPage);
}

ok até ai blz…
Usa um helper para achar qual command executar … executa o command para pegar a pagina para dar um dispacher

a duvida é:
onde eu posso passar os valores para a view ?

O seu command
adicionar pelo command ? request.setAttribute ?
[/quote]
O seu command recebe o seu request, então você seta os atributos la

Pode ser que sim, depende da sua arquitetura :slight_smile:
Talvez você tenha uma camada a frente de negocio que é acionado pelo command

acho que você podia dar uma olhada nessa palestra, ele evolui esse pattern até o que ± os frameworks mais modernos fazem hoje

http://www.tatanka.com.br/palestras/cj2005-Web+MVC+IoC+Reflection/

só pelo resumo ja da pra entender bem, ele disponibiliza os fonts tambem

Ah … blz … assim que estiver em casa eu vou dar uma olhada vlw :wink:

kra… show de bola era isso mesmo … vlw :twisted: