Que diabos está nulo no Inferno do Struts 1

Meu amigo Carlão já disse: “Toda vez que vc usa Struts 1, vc mata um bebe foca”. É a mais pura verdade.

Infelizmente eu tenho que fazer uma aplicação usando essa droga de Struts 1.

Erro:

[quote]java.lang.IllegalArgumentException: Resources cannot be null.
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
[/quote]

Algo está nulo mas o que é?

Eu quero apenas exibir um formulário.
Esse erro acontece quando eu chamo a action

Página do menu que faz a chamada:

<li ><a >Parametrizações</a> 
	   <ul  > 
             <li>&lt;html:link action="/loadNovidade"&gt;Página inical&lt;/html:link&gt;</li> 	
       </ul> 
	 </li>

Xml


	&lt;!-- Formularios de Novidadades --&gt;
	   	&lt;form-bean name="novidadeForm" type="br.com.folha.WebGAVADM.novidade.action.NovidadeAction"/&gt;
	   		      
     &lt;/form-beans&gt; 

    &lt;!-- =========================================== Novidade --&gt;    
        &lt;!-- NOVIDADE --&gt;
        &lt;action path="/loadNovidade"        
                type="br.com.folha.WebGAVADM.novidade.action.NovidadeAction"       
                scope="request"                
                name="novidadeForm"&gt;
			    &lt;forward name="carregar" path="/Welcome.jsp"/&gt;  		    
			  &lt;/action&gt;

Minha Action

public class NovidadeAction extends Action  {
	
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		
		Novidade novidade = new Novidade();
		NovidadeBusiness business= new NovidadeBusiness();
		//novidade = business.getUltima();
		
		//NovidadeForm novidadeForm = (NovidadeForm) form; 
		//novidadeForm.setDes_conteudo(novidade.getConteudo());
		
		return mapping.findForward("carregar");
		
	}

}

Como vocês podem ver, até comentei o que minha action deveria fazer só pra testar e nem assim funcionou.

Alguém tem idéia do que pode estar ocorrendo?

Quem me ajudar vai estar salvando um bb foca da morte. rss

Se não me engano esse erro ocorre qdo vc não define o arquivo de resource bundle no struts-xml.

Pois é. Vou postar meu xml aqui novamente

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>

<!-- ================================================ Form Bean Definitions -->
    <form-beans>
     <!-- LOGIN -->
	   	<form-bean name="logarForm" type="br.com.folha.WebGAVADM.login.bean.LoginForm"/>
	 
	 <!-- Formularios de Relatorios -->
	   	<form-bean name="gerarRelatorioGavForm" type="br.com.folha.WebGAVADM.novidade.action.NovidadeAction"/>
	   	
	   	<!-- Formularios de Novidadades -->
	   	<form-bean name="novidadeForm" type="br.com.folha.WebGAVADM.novidade.action.NovidadeAction"/>
	   		      
     </form-beans>  


<!-- ========================================= Global Exception Definitions -->
    <global-exceptions>
        <!-- sample exception handler
	        <exception key="expired.password" type="app.ExpiredPasswordException" path="/changePassword.jsp"/>
        end sample -->
    </global-exceptions>


<!-- =========================================== Global Forward Definitions -->
    <global-forwards>
        <forward name="erro" path="/Erro.jsp" />
        <forward name="voltarLogin" path="/Login.jsp" />		
    </global-forwards>


<!-- =========================================== Action Mapping Definitions -->
    <action-mappings>
    
    <!-- =========================================== Login -->	  
	    <!-- LOGIN -->
        <action path="/login" 
        		type="br.com.folha.WebGAVADM.login.action.LoginAction" 
        		name="logarForm" 
        		scope="session">
		    <forward name="senhaOk" path="/Welcome.jsp" />
		    <forward name="senhaInvalida" path="/Login.jsp" />
        </action>
        
    <!-- =========================================== Relatorios -->    
        <!-- GERAR RELATORIO GAV -->
        <action path="/gerarRelatorioGav" 
                type="br.com.folha.premiacao.action.ProjetoComercialAction"
                parameter="metodo"
                input="/GerarRelatorioGav.jsp"
                scope="request"                
               name="gerarRelatorioGavForm">
			    <forward name="mostrarRelatorio" path="/GerarRelatorioGav.jsp"/>  		    
			  </action>
			  
			    <!-- =========================================== Novidade -->    
        <!-- NOVIDADE -->
        <action path="/loadNovidade"        
                type="br.com.folha.WebGAVADM.novidade.action.NovidadeAction"       
                scope="request"                
                name="novidadeForm">
			    <forward name="carregar" path="/Welcome.jsp"/>  		    
			  </action>
			  
			 
	</action-mappings>
	
	 <!-- ======================================== Message Resources Definitions -->

    <message-resources parameter="MessageResources" />


</struts-config>

Já tirei a linha

e também não funcionou

Alguém mais alguma idéia?

Deixa eu perguntar uma coisa que pode ser estúpida, mas no momento não estou conseguindo me lembrar se tinha alguma variação de como fazer isso, mas… porque exatamente você está apontando seu form-bean novidadeForm para a action NovidadeAction?

Já matei muitos bebês foca por aí (rsrsrs), mas não me lembro de form-bean ser usado dessa forma. Sei lá, Struts tinha tantas formas de se fazer a mesma coisa… não tô me lembrando de uma resposta clara pra isso, mas, vamos investigar!

Pra ser bem sincero eu fiz isto pq vi um exemplo desta forma. Não sei ao certo o porquê. Mas sabe aquela coisa já que tá deixa.

Eu fiz um outro projetinho com struts 1 só para testar, fiz baseado na apostila do curso da global cold mesmo assim está com problema. debugando percebi que o form do ActionForm vem vazio. por isso está dando pau.

A pergunta de 1milão de dóres é?

Porque o form está vendo null?

Então coloque uma classe filha de ActionForm no do struts-config, ora pois pois!

Tanto faz ser uma classe com os parâmetros descritos ou um dynaform… que seja, mas tem que ser alguém filho de ActionForm.

Se funcionar você estará me devendo um milhão de dólares! :lol: :lol: :lol: