Struts - Cannot retrieve definition for form bean null

Estou tentando criar um jsp que tem uma combo preenchida por uma Action. Ao Executar ocorre o erro “javax.servlet.ServletException: Cannot retrieve definition for form bean null on action confirmaModelos”.

Alguém como resolver ? Obrigado.

Seguem os arquivos abaixo:

JSP:

<%@ page language=“java” %>
<!-- Tag Libraries disponíveis para a página -->
<%@ taglib prefix=“html” uri="/WEB-INF/struts-html.tld" %>
<!-- Cria forms -->
<html:form action=“confirmaModelos” focus=“CD_MODELO”>
<html:select property=“CD_MODELO”>
<html:options collection=“MODELOS” property=“CD_MODELO” labelProperty=“DS_MODELO”/>
</html:select>
</html:form>

struts-config.xml:

<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE struts-config PUBLIC “-//Apache Software Foundation//DTD Struts Configuration 1.1//EN” “http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd”>
<struts-config>
<!-- Define os form-beans utilizados pela aplicação -->
<form-beans>
<form-bean name="/confirmaModelos" type=“intranet.action.SelecionaModelosAction”/>
</form-beans>
<global-forwards>
<forward name=“selecionaModelos” path="/selecionaModelos.do"/>
<forward name=“failure” path="/pages/error.jsp"/>
</global-forwards>
<!-- Mapeamentos para cada action -->
<action-mappings>
<action path="/selecionaModelos" type=“intranet.action.SelecionaModelosAction” input="/pages/failure.jsp">
<forward name=“sucesso” path="/pages/selecionaModelos.jsp" contextRelative=“false” redirect=“false”/>
</action>
</action-mappings>
<!-- Configura arquivo de internacionalização -->
<message-resources parameter=“resources.ApplicationResources” key=“org.apache.struts.action.MESSAGE”/>
</struts-config>

nussaaa!!!
que lambança!! :wink:

Vamos la então:

A action do seu form é o nome da action declarada no Struts config dentro de <action-mappings>. Ficaria assim então sua JSP:

&lt;html&#58;form action=&quot;/SelecionaModelos.do&quot;&gt; 
&lt;html&#58;select property=&quot;CD_MODELO&quot;&gt; 
&lt;html&#58;options collection=&quot;MODELOS&quot; property=&quot;CD_MODELO&quot; labelProperty=&quot;DS_MODELO&quot;/&gt; 
&lt;/html&#58;select&gt; 
&lt;/html&#58;form&gt; 

Dentro desta Tag, vai um Form, e não uma Action. Vc criou um form herdando de ActionForm? É essa classe (que vc criou ou vai criar) que vc declara dentro de “type”!

&lt;form-beans&gt; 
	&lt;form-bean name=&quot;confirmaModelos&quot; type=&quot;meu.pacote.MeuForm&quot;/&gt; 
&lt;/form-beans&gt; 

Na action que vc cria, vc referencia que ela terá um Form apartir do atributo “name” (abaixo). Repare que o form que vc coloca em name, tem o mesmo nome que vc deu la em cima quando declarou o form!

&lt;action-mappings&gt; 
  &lt;action path=&quot;/SelecionaModelos&quot; 
	  type=&quot;intranet.action.SelecionaModelosAction&quot; 
	  input=&quot;/pages/failure.jsp&quot;
	  name=&quot;confirmaModelos&quot;&gt; 
     &lt;forward name=&quot;sucesso&quot; path=&quot;/pages/selecionaModelos.jsp&quot; contextRelative=&quot;false&quot; redirect=&quot;false&quot;/&gt; 
  &lt;/action&gt; 
&lt;/action-mappings&gt; 

Cara, acho que vc deveria dar mais uma lidinha sobre o que é o Struts e como ele funciona.
Aqui no PJ tem alguns tutorias sobre isso, outras referencias podem ser encontradas no próprio site:
http://struts.apache.org

abraços!