Pessoal me expliquem como funciona a Action do struts 1

Abaixo um exemplo de classe que estou usando mas não entendo bem seu funcionamento, queria também saber como a Action pega os dados do Form.Valeu

public class AdicionaProfissionalAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// log
System.out.println(“Adicionando o Funcionario…”);

// formulário de cliente
ProfissionalForm formulario = (ProfissionalForm) form;



// acessa o bean
Profissional profissional = formulario.getProfissional();



// adiciona ao banco de dados
ProfissionalDao dao = new ProfissionalDao();
dao.adiciona(profissional);		


// ok.... visualização
return mapping.findForward("ok");
}

}

[quote]// formulário de cliente
ProfissionalForm formulario = (ProfissionalForm) form;

// acessa o bean
Profissional profissional = formulario.getProfissional();[/quote]

Acredito que esse trecho de código explica bastante, o Objeto profissional recebe valores do form via o objeto formulario
a partir disso é possível dar um .getNome, .getProfissao etc.

Abraços,

Pega os dados depois deste cast…