Formulario Struts

Gostaria de saber como faço para um formulario externo à minha aplicação Struts preencha um form bean, tenho o formulario, um HTML simples, que não tem nada a ver com a aplicação, só vai chamar um Action dela, e enviar os dados… se tentar somente enviar o formulario o form chega nulo…

Como seria isso?

já tentou fazer que a action do <form> aponte pra sua Action sendo que os campos do <form> tenham o mesmo padrão de nomes do teu ActionForm?

sim, veja só como eu fiz…

struts-config.xml

&lt;struts-config&gt;
   
    &lt;form-beans&gt;
        &lt;form-bean dynamic=&quot;false&quot; name=&quot;acessoBean&quot; type=&quot;com.vorttice.web.formbean.AcessoFb&quot; /&gt;
    &lt;/form-beans&gt;

    &lt;action-mappings&gt;
        &lt;action path=&quot;/listaacessos&quot; type=&quot;com.vorttice.web.action.ActAcesso&quot;&gt;
            &lt;forward name=&quot;listaacessos&quot; path=&quot;/listaracessos.jsp&quot;/&gt;
        &lt;/action&gt;
        &lt;action path=&quot;/salvaracesso&quot; type=&quot;com.vorttice.web.action.ActAcesso&quot;&gt;
            &lt;forward name=&quot;ok&quot; path=&quot;/ok.jsp&quot; /&gt;
            &lt;forward name=&quot;erro&quot; path=&quot;/erro.jsp&quot; /&gt;
        &lt;/action&gt;
    &lt;/action-mappings&gt;
  
 &lt;/struts-config&gt;

o form bean

package com.vorttice.web.formbean;

import javax.servlet.http.*;
import javax.servlet.ServletException;
import org.apache.struts.action.*;
import org.apache.struts.Globals;

public class AcessoFb extends ActionForm&#123;

    private String origem;

    public AcessoFb&#40;&#41; &#123;
    &#125;

    public String getOrigem&#40;&#41; &#123;
        return origem;
    &#125;

    public void setOrigem&#40;String origem&#41; &#123;
        this.origem = origem;
    &#125;

    public void reset&#40;ActionMapping mapping, HttpServletRequest request&#41;&#123;
        origem = null;
    &#125;
    
    public ActionErrors validate&#40;ActionMapping mapping, HttpServletRequest request&#41;&#123;
        ActionErrors erros = new ActionErrors&#40;&#41;;
        
        return erros;
    &#125;
&#125;

action, em salvar a unica coisa que coloquei foi pra verificar se o form é null se sim, vai pra pagina de erro, se não vai pra pagina de ok, e ele sempre vai pra pagina de erro… se eu tentar acessar o form da NullPointerException

public class ActAcesso extends Action&#123;
    private AcessoDAO adao = DAOFactoryHibernate.getInstance&#40;&#41;.makeAcessoDAO&#40;&#41;;
    private final String LISTAR = &quot;/listaacessos&quot;;
    private final String SALVAR = &quot;/salvaracesso&quot;;
    
    public ActionForward execute&#40;ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response&#41; throws ServletException&#123;
        ActionForward forward = null;
        String path = mapping.getPath&#40;&#41;;
        
        if&#40;LISTAR.equals&#40;path&#41;&#41;&#123;
            try&#123;
                ArrayList acessos = adao.retrieveAll&#40;&#41;;
                request.setAttribute&#40;&quot;listaacessos&quot;, acessos&#41;;
            &#125;catch&#40;Exception e&#41;&#123;
                throw new ServletException&#40;e&#41;;
            &#125;
            forward = mapping.findForward&#40;&quot;listaacessos&quot;&#41;;
        &#125;
        
        //aqui é que está o problema, o form sempre é null
        if&#40;SALVAR.equals&#40;path&#41;&#41;&#123;
            if&#40;form!=null&#41;&#123;
                forward = mapping.findForward&#40;&quot;ok&quot;&#41;;
            &#125;else&#123;
                forward = mapping.findForward&#40;&quot;erro&quot;&#41;;
            &#125;
        &#125;
        return forward;
    &#125;
&#125;

o formulario de envio dos dados…

&lt;html&gt;
    &lt;body&gt;
    &lt;form action=&quot;http&#58;//localhost&#58;8080/vorttice/salvaracesso.do&quot; method=&quot;post&quot;&gt;
        &lt;input type=&quot;text&quot; name=&quot;origem&quot; /&gt;
        &lt;input type=&quot;submit&quot; /&gt;
    &lt;/form&gt;
    &lt;/body&gt;
&lt;/html&gt;

dei uma olhada por cima no teu post e logo no início quando vc delcara as actions no struts-config vc não as associa a nenhum FormBean declarado.

Sugiro que vc faça um dos tutoriais sobre struts disponíveis aki no portal pra dar uma revisada no básico do struts-config…

Voce esqueceu de adicionar o parametro name na sua action path :

Exemplo corrigido abaixo :

Este parametro deve ser igual ao name declarado no no seu caso acessoBean .