Struts: Formulário sem FormBean

:smiley: Olá!

Como configurar uma solicitação no struts-config.xml quando esta não possui um FormBean associado?

Por exemplo:
Tenho um formulário com dois botões de opção “Pessoa Física” e “Pessoa Jurídica”; quando eu escolher uma das opções e enviar o formulário, não quero que seus valores sejam atribuidos à um FormBean mas sim, desejo que a requisição seja encaminhada para a Action correspondente onde retirarei os valores direto do objeto HttpServletRequest com o método getParameter().

praticamente nenhum campo no struts-xml (na parte actions-mappings) é obrigatorio
para maper dois actions sem form… é simples:

<action path="/pesFisica" class=“myActionFisica” input=“de ondevim” />
<action path="/pesJuridica" class=“myActionJuridica” input=“de ondevim” />

(nao lembro se CLASS ou NAME na hora de dizer a classe do action)

e no teu html é so controlar a postagem por javascript… ou posta pra pesFisica.do ou pesJuridica.do

Feito tudo isto qual seria o motivo do erro:

javax.servlet.ServletException: Cannot retrieve definition for form bean null
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:530)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:76)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

Realmente tambem nao consegui criar um action sem FormBean associado. No entanto, costumo criar um FormBean generico, do tipo DynaActionForm, dessa maneira:

     &lt;form-bean      name=&quot;GenericForm&quot;
       type=&quot;org.apache.struts.action.DynaActionForm&quot;/&gt;

Ai, para realizar o acesso aos parametros do request, vou no HttpServletRequest que eh passado ao meu action pelo metodo execute

Caso vc esteja usando a tag de formulário do Struts &lt;html&#58;form action=&quot;/path_da_action&quot;&gt;
a tag irá procurar por um formBean.

Ignore essa tag e crie uma tag de formulário html

&lt;form name=&quot;&quot; action=&quot;path_da_action.do&quot; method=&quot;post&quot;&gt;