Ajuda com Struts2 Upload de Arquivo

10 respostas
supertchuco

Boa tarde a todos.

Bom sou iniciante em struts, comecei a trabalhar em uma empresa que já tinham um framework pronto, java web, eles utilizam spring , hibernate , struts e na parte visual Extjs, mas o problema é o seguinte tenho que fazer o upload de um arquivo e está aparecendo o seguinte erro:

01/02/2010 14:00:38 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.RuntimeException: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:476)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:486)
	at com.opensymphony.xwork2.inject.ContainerImpl$9.call(ContainerImpl.java:517)
	at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
	at com.opensymphony.xwork2.inject.ContainerImpl.getInstance(ContainerImpl.java:515)
	at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:697)
	at org.apache.struts2.dispatcher.FilterDispatcher.prepareDispatcherAndWrapRequest(FilterDispatcher.java:330)
	at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:390)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
	at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
	at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
	at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
	at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
	at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
	at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
	at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
Caused by: Unable to load bean org.apache.struts2.dispatcher.multipart.MultiPartRequest (jakarta) - [unknown location]
	at org.apache.struts2.config.BeanSelectionProvider$ObjectFactoryDelegateFactory.create(BeanSelectionProvider.java:247)
	at com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
	... 38 more

Bom já pesquisei em fóruns daqui mesmo do site, e vi que é erro do struts , configurar o interceptor no struts, mas ai ta o problema eu não sei configurar isso, tentei de várias formas , dos fóruns etc… , e não consegui…

Abaixo o struts daqui do framework:

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
* Parte integrante do UnisWeb, framework de componentes e  utilit&#65533;rios criado pela Unisis para o
* desenvolvimento de aplica&#65533;&#65533;es Web, em plataforma Java (Sun Java EE Compliant Application).
*
* (C) 2008, Unisis Administra&#65533;&#65533;o Patrimonial. Todos os direitos reservados.
*
* Este programa de computador est&#65533; protegido pela lei de copyright. A reprodu&#65533;&#65533;o ou distribui&#65533;&#65533;o
* n&#65533;o autorizada deste programa, ou de qualquer parte dele, resultar&#65533; na  imposi&#65533;&#65533;o de rigorosas
* penas civis e criminais, e ser&#65533; objeto de a&#65533;&#65533;o judicial promovida na m&#65533;xima extens&#65533;o poss&#65533;vel,
* nos termos da lei.
*
* Hist&#65533;rico Subversion - Open Source Revision Control System.
*
* $LastChangedRevision: 300 $
* $LastChangedBy: ramon $
* $LastChangedDate: 2009-12-01 14:55:08 -0300 (Ter, 03 Jun 2008) $
* $HeadURL: http://200.175.79.118:8080/svn/web/unisweb/trunk/webapp/tela.html $
-->

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

<struts>

    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    <constant name="struts.devMode" value="true"/>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; entrada no UnisPat ========== -->
    <package name="unispat" extends="struts-default">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="inicioapp" method="execute" class="unisPatAction">
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>
            <result name="login">/auth/loginRedirect.jsp</result>
            <result name="error">/auth/loginFailure.jsp</result>
        </action>

    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o das tabelas ========== -->
    <package name="unispat-tabela" namespace="/ajax/tabela" extends="unis-ajax">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="Atividade" class="atividadeTableAction" />

        <action name="AtividadeComercial" class="atividadeComercialTableAction" />

	    <action name="DeprecContaMoeda" class="deprecContaMoedaTableAction" />

        <action name="Documento" class="documentoTableAction" />

        <action name="Especie" class="especieTableAction" />

        <action name="Exercicio" class="exercicioTableAction" />

        <action name="Cautela" class="cautelaTableAction" />

        <action name="Funcionario" class="funcionarioTableAction" />

        <action name="NivelControle" class="nivelControleTableAction" />

        <action name="Procedencia" class="procedenciaTableAction" />

        <action name="SituacaoBem" class="situacaoBemTableAction" />

        <action name="DepreciacaoIncentivada" class="depreciacaoIncentivadaTableAction"/>

        <action name="Unidade" class="unidadeTableAction" />

        <action name="TipoBaixa" class="tipoBaixaTableAction" />

        <action name="Transacao" class="transacaoTableAction" />

        <action name="SituacaoEconomica" class="situacaoEconomicaTableAction" />

        <action name="Valor" class="valorTableAction" />

        <action name="Banco" class="bancoTableAction" />

        <action name="Convenio" class="convenioTableAction" />

        <action name="Icms" class="icmsTableAction" />

        <action name="Pais" class="paisTableAction" />

        <action name="Estado" class="estadoTableAction" />

        <action name="Prazo" class="prazoTableAction" />

        <action name="CondicaoUso" class="condicaoUsoTableAction" />

        <action name="Empresa" class="empresaTableAction" />

        <action name="Filial" class="filialTableAction" />

        <action name="Moeda" class="moedaTableAction" />

        <action name="LimiteImobilizacao" class="limiteImobilizacaoAction" />

        <action name="Parametro" class="parametroTableAction" />

        <action name="NaturezaOperacional" class="naturezaOperacionalTableAction" />

        <action name="GrupoContabil" class="grupoContabilTableAction" />

        <action name="GrupoContas" class="grupoContasTableAction" />

        <action name="TipoContabilizacao" class="tipoContabilizacaoTableAction" />

        <action name="TabelaTipoLancamento" class="tabelaTipoLancamentoTableAction" />

		<action name="TabelaCampo" class="tabelaCampoTableAction" />

        <action name="ValorInterface" class="valorInterfaceTableAction" />

        <action name="HistoricoPadrao" class="historicoPadraoTableAction" />

        <action name="Baixa" class="baixaTableAction" />

		<action name="DescricaoPadrao" class="descricaoPadraoTableAction" />

		<action name="GrupoItensProjeto" class="grupoItensProjetoTableAction" />

		<action name="TabelaAux" class="tabelaAuxTableAction" />

		<action name="CopiaIndice" class="copiaIndiceTableAction" />

        <action name="FatorEstornoCreditoIcms" class="fatorEstornoCreditoIcmsTableAction" />

		<action name="Indice" class="indiceTableAction" />

		<action name="LinhaProducao" class="linhaProducaoTableAction" />

		<action name="CodigoAux" class="codigoAuxTableAction" />

		<action name="ConsultaCadastro" class="consultaCadastroTableAction" />

		<action name="GenericPopup" class="genericPopupTableAction" />
		
		<action name="SearchGeneralDescription" class="searchGeneralDescriptionTableAction" />

		<action name="DigitacaoBem" class="digitacaoBemTableAction" />

		<action name="CentroCusto" class="centroCustoTableAction" />

		<action name="PlantaSeguro" class="plantaSeguroTableAction" />

		<action name="ContaPatrimonial" class="contaPatrimonialTableAction" />

		<action name="CodigoClassificacao" class="codigoClassificacaoTableAction" />

		<action name="MoedaIndice" class="moedaIndiceTableAction" />

		<action name="Localizacao" class="localizacaoTableAction" />

	    <action name="Agencia" class="agenciaTableAction" /> 

		<action name="GrupoCentroCusto" class="grupoCentroCustoTableAction" />

		<action name="DepreciacaoCentroCustoMoeda" class="depreciacaoCentroCustoMoedaTableAction" />
		
		<action name="DepreciacaoLinhaProducaoMoeda" class="depreciacaoLinhaProducaoMoedaTableAction" />
		
		<action name="Transferencia" class="transferenciaTableAction" />
		
		<action name="Fornecedor" class="fornecedorTableAction" />

		<action name="SituacoesHistoricos" class="situacoesHistoricosTableAction" />
		
		<action name="GrupoCentroResponsabilidade" class="grupoCentroResponsabilidadeTableAction" />

 		<action name="HistoricoPlaquetas" class="historicoPlaquetasTableAction" />

 		<action name="FaixasPlaquetas" class="faixasPlaquetasTableAction" />
		
		<action name="CentroResponsabilidade" class="centroResponsabilidadeTableAction" />
		
		<action name="Especificacao" class="especificacaoTableAction" />
		
		<action name="ExportacaoDados" class="exportacaoDadosTableAction" />
		
	<!--	<action name="Equipes" class="equipesTableAction" /> -->
		
		
		
		

	<!--	<action name="ParametroInterface" class="parametroInterfaceTableAction" /> -->

    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; movimenta&#65533;&#65533;o e processamento  ========== -->
    <package name="unispat-movimento" namespace="/secure/movimento" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o de cadastros ========== -->
    <package name="unispat-cadastro" namespace="/secure/cadastro" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas aos c&#65533;lculos gerais  ========== -->
    <package name="unispat-calculo" namespace="/secure/calculo" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; gera&#65533;&#65533;o de relat&#65533;rios  ========== -->
    <package name="unispat-relatorio" namespace="/secure/relatorio" extends="unis-ajax">
        
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas a utilit&#65533;rios gerais  ========== -->
    <package name="unispat-utilitario" namespace="/secure/utilitario" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; importa&#65533;&#65533;o/exporta&#65533;&#65533;o de arquivos  ========== -->
    <package name="unispat-interface" namespace="/secure/interface" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; documenta&#65533;&#65533;o on-line (help)  ========== -->
    <package name="unispat-ajuda" namespace="/secure/ajuda" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>

</struts>

A tela que vai fazer o upload é ExportacaoDados que está declarada no struts (somente ela). Bom espero que alguém possa me ajudar ou me dar um rumo pra isso, tá dificil pra mim entender…Valeu…

10 Respostas

vinicius.martinez

Da uma lidinha aqui primeiro:

http://www.roseindia.net/struts/struts2/struts-2-file-upload.shtml

http://www.tutcity.com/view/struts-2-file-upload-example.19116.html

renanpto

Nunca fiz um upload com struts2, talvez esses links possam te ajudar:

http://www.roseindia.net/struts/struts2/struts-2-file-upload.shtml

http://struts.apache.org/2.0.6/docs/how-do-we-upload-files.html

obs: se procurar no google existe diversos exemplos do que voce precisa…

boa sorte !

supertchuco

Bom de acordo com os links que os amigos passaram configurei desse jeito o struts :

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
* Parte integrante do UnisWeb, framework de componentes e  utilit&#65533;rios criado pela Unisis para o
* desenvolvimento de aplica&#65533;&#65533;es Web, em plataforma Java (Sun Java EE Compliant Application).
*
* (C) 2008, Unisis Administra&#65533;&#65533;o Patrimonial. Todos os direitos reservados.
*
* Este programa de computador est&#65533; protegido pela lei de copyright. A reprodu&#65533;&#65533;o ou distribui&#65533;&#65533;o
* n&#65533;o autorizada deste programa, ou de qualquer parte dele, resultar&#65533; na  imposi&#65533;&#65533;o de rigorosas
* penas civis e criminais, e ser&#65533; objeto de a&#65533;&#65533;o judicial promovida na m&#65533;xima extens&#65533;o poss&#65533;vel,
* nos termos da lei.
*
* Hist&#65533;rico Subversion - Open Source Revision Control System.
*
* $LastChangedRevision: 300 $
* $LastChangedBy: ramon $
* $LastChangedDate: 2009-12-01 14:55:08 -0300 (Ter, 03 Jun 2008) $
* $HeadURL: http://200.175.79.118:8080/svn/web/unisweb/trunk/webapp/tela.html $
-->

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

<struts>

    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    <constant name="struts.devMode" value="true"/>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; entrada no UnisPat ========== -->
    <package name="unispat" extends="struts-default">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="inicioapp" method="execute" class="unisPatAction">
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>
            <result name="login">/auth/loginRedirect.jsp</result>
            <result name="error">/auth/loginFailure.jsp</result>
        </action>

    </package>
	
	
	<interceptors>
       <interceptor-stack name="fileUploadStack">
					<interceptor-ref name="fileUpload">
						<param name="maximumSize">10240</param>
						<param name="allowedTypes"> image/jpeg,image/gif,image/png</param>
					</interceptor-ref>
        </interceptor-stack>
</interceptors>	
	
	
	
	


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o das tabelas ========== -->
    <package name="unispat-tabela" namespace="/ajax/tabela" extends="unis-ajax">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="Atividade" class="atividadeTableAction" />

        <action name="AtividadeComercial" class="atividadeComercialTableAction" />

	    <action name="DeprecContaMoeda" class="deprecContaMoedaTableAction" />

        <action name="Documento" class="documentoTableAction" />

        <action name="Especie" class="especieTableAction" />

        <action name="Exercicio" class="exercicioTableAction" />

        <action name="Cautela" class="cautelaTableAction" />

        <action name="Funcionario" class="funcionarioTableAction" />

        <action name="NivelControle" class="nivelControleTableAction" />

        <action name="Procedencia" class="procedenciaTableAction" />

        <action name="SituacaoBem" class="situacaoBemTableAction" />

        <action name="DepreciacaoIncentivada" class="depreciacaoIncentivadaTableAction"/>

        <action name="Unidade" class="unidadeTableAction" />

        <action name="TipoBaixa" class="tipoBaixaTableAction" />

        <action name="Transacao" class="transacaoTableAction" />

        <action name="SituacaoEconomica" class="situacaoEconomicaTableAction" />

        <action name="Valor" class="valorTableAction" />

        <action name="Banco" class="bancoTableAction" />

        <action name="Convenio" class="convenioTableAction" />

        <action name="Icms" class="icmsTableAction" />

        <action name="Pais" class="paisTableAction" />

        <action name="Estado" class="estadoTableAction" />

        <action name="Prazo" class="prazoTableAction" />

        <action name="CondicaoUso" class="condicaoUsoTableAction" />

        <action name="Empresa" class="empresaTableAction" />

        <action name="Filial" class="filialTableAction" />

        <action name="Moeda" class="moedaTableAction" />

        <action name="LimiteImobilizacao" class="limiteImobilizacaoAction" />

        <action name="Parametro" class="parametroTableAction" />

        <action name="NaturezaOperacional" class="naturezaOperacionalTableAction" />

        <action name="GrupoContabil" class="grupoContabilTableAction" />

        <action name="GrupoContas" class="grupoContasTableAction" />

        <action name="TipoContabilizacao" class="tipoContabilizacaoTableAction" />

        <action name="TabelaTipoLancamento" class="tabelaTipoLancamentoTableAction" />

		<action name="TabelaCampo" class="tabelaCampoTableAction" />

        <action name="ValorInterface" class="valorInterfaceTableAction" />

        <action name="HistoricoPadrao" class="historicoPadraoTableAction" />

        <action name="Baixa" class="baixaTableAction" />

		<action name="DescricaoPadrao" class="descricaoPadraoTableAction" />

		<action name="GrupoItensProjeto" class="grupoItensProjetoTableAction" />

		<action name="TabelaAux" class="tabelaAuxTableAction" />

		<action name="CopiaIndice" class="copiaIndiceTableAction" />

        <action name="FatorEstornoCreditoIcms" class="fatorEstornoCreditoIcmsTableAction" />

		<action name="Indice" class="indiceTableAction" />

		<action name="LinhaProducao" class="linhaProducaoTableAction" />

		<action name="CodigoAux" class="codigoAuxTableAction" />

		<action name="ConsultaCadastro" class="consultaCadastroTableAction" />

		<action name="GenericPopup" class="genericPopupTableAction" />
		
		<action name="SearchGeneralDescription" class="searchGeneralDescriptionTableAction" />

		<action name="DigitacaoBem" class="digitacaoBemTableAction" />

		<action name="CentroCusto" class="centroCustoTableAction" />

		<action name="PlantaSeguro" class="plantaSeguroTableAction" />

		<action name="ContaPatrimonial" class="contaPatrimonialTableAction" />

		<action name="CodigoClassificacao" class="codigoClassificacaoTableAction" />

		<action name="MoedaIndice" class="moedaIndiceTableAction" />

		<action name="Localizacao" class="localizacaoTableAction" />

	    <action name="Agencia" class="agenciaTableAction" /> 

		<action name="GrupoCentroCusto" class="grupoCentroCustoTableAction" />

		<action name="DepreciacaoCentroCustoMoeda" class="depreciacaoCentroCustoMoedaTableAction" />
		
		<action name="DepreciacaoLinhaProducaoMoeda" class="depreciacaoLinhaProducaoMoedaTableAction" />
		
		<action name="Transferencia" class="transferenciaTableAction" />
		
		<action name="Fornecedor" class="fornecedorTableAction" />

		<action name="SituacoesHistoricos" class="situacoesHistoricosTableAction" />
		
		<action name="GrupoCentroResponsabilidade" class="grupoCentroResponsabilidadeTableAction" />

 		<action name="HistoricoPlaquetas" class="historicoPlaquetasTableAction" />

 		<action name="FaixasPlaquetas" class="faixasPlaquetasTableAction" />
		
		<action name="CentroResponsabilidade" class="centroResponsabilidadeTableAction" />
		
		<action name="Especificacao" class="especificacaoTableAction" />
		
		<action name="ExportacaoDados" class="exportacaoDadosTableAction">
				<interceptor-ref name="fileUploadStack" />
				<result name="input">/index.jsp</result>
				<result name="success">/success.jsp</result>
		</action>
		
	<!--	<action name="Equipes" class="equipesTableAction" /> -->
		
		
		
		

	<!--	<action name="ParametroInterface" class="parametroInterfaceTableAction" /> -->

    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; movimenta&#65533;&#65533;o e processamento  ========== -->
    <package name="unispat-movimento" namespace="/secure/movimento" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o de cadastros ========== -->
    <package name="unispat-cadastro" namespace="/secure/cadastro" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas aos c&#65533;lculos gerais  ========== -->
    <package name="unispat-calculo" namespace="/secure/calculo" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; gera&#65533;&#65533;o de relat&#65533;rios  ========== -->
    <package name="unispat-relatorio" namespace="/secure/relatorio" extends="unis-ajax">
        
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas a utilit&#65533;rios gerais  ========== -->
    <package name="unispat-utilitario" namespace="/secure/utilitario" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; importa&#65533;&#65533;o/exporta&#65533;&#65533;o de arquivos  ========== -->
    <package name="unispat-interface" namespace="/secure/interface" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; documenta&#65533;&#65533;o on-line (help)  ========== -->
    <package name="unispat-ajuda" namespace="/secure/ajuda" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>

</struts>

E criei a action assim :

package br.com.unisis.unispat.web.action.tabela;

import java.io.File;

import com.opensymphony.xwork2.ActionSupport;

public class ExportacaoDadosTableAction extends ActionSupport {

	private File userImage;

	private String userImageContentType;

	private String userImageFileName;

	public String execute()

	{

		return SUCCESS;

	}

	public File getUserImage() {

		return userImage;

	}

	public void setUserImage(File userImage) {

		this.userImage = userImage;

	}

	public String getUserImageContentType() {

		return userImageContentType;

	}

	public void setUserImageContentType(String userImageContentType) {

		this.userImageContentType = userImageContentType;

	}

	public String getUserImageFileName() {

		return userImageFileName;

	}

	public void setUserImageFileName(String userImageFileName) {

		this.userImageFileName = userImageFileName;

	}

}

E o erro que deu foi:

5:03:28,498 ERROR [DomHelper           ] The content of element type "struts" must match "(package|include|bean|constant)*". at (null:257:10)
org.xml.sax.SAXParseException: The content of element type "struts" must match "(package|include|bean|constant)*".
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
01/02/2010 15:03:28 org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts
file:/C:/opt/eclipse/libraries/tomcat/webapps/unispat/WEB-INF/classes/struts.xml:257:10
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:835)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: The content of element type "struts" must match "(package|include|bean|constant)*". - file:/C:/opt/eclipse/libraries/tomcat/webapps/unispat/WEB-INF/classes/struts.xml:257:10
	at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:123)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830)
	... 34 more
Caused by: org.xml.sax.SAXParseException: The content of element type "struts" must match "(package|include|bean|constant)*".
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:121)
	... 35 more
01/02/2010 15:03:28 org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
01/02/2010 15:03:28 org.apache.catalina.core.StandardContext start
SEVERE: Context [/unispat] startup failed due to previous errors
01/02/2010 15:03:28 org.apache.catalina.core.ApplicationContext log
INFO: Contexto finalizado!
01/02/2010 15:03:28 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
01/02/2010 15:03:28 org.apache.catalina.core.ApplicationContext log
INFO: Shutting down log4j
01/02/2010 15:03:29 org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive unisconsole.war
01/02/2010 15:03:30 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.util.Log4jConfigListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:30 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.context.ContextLoaderListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:30 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.context.request.RequestContextListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:30 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "br.com.unisis.unisconsole.web.context.UnisConsoleListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:31 org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from [C:\opt\eclipse\libraries\tomcat\webapps\unisconsole\WEB-INF\classes\log4j.xml]
01/02/2010 15:03:31 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
01/02/2010 15:03:36 org.apache.catalina.core.ApplicationContext log
INFO: Contexto inicializado!
01/02/2010 15:03:38 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.util.Log4jConfigListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:38 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.context.ContextLoaderListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:38 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "org.springframework.web.context.request.RequestContextListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:38 org.apache.catalina.core.StandardContext addApplicationListener
INFO: The listener "br.com.unisis.uniscom.web.context.UnisPatListener" is already configured for this context. The duplicate definition has been ignored.
01/02/2010 15:03:39 org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from [C:\opt\eclipse\libraries\tomcat\webapps\uniscom\WEB-INF\classes\log4j.xml]
01/02/2010 15:03:39 org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
15:03:43,750 ERROR [JDBCExceptionReporter] GDS Exception. 335544721. Unable to complete network request to host "localhost".
Reason: Unable to complete network request to host "localhost".
15:03:45,903 DEBUG [unisis              ] Entrou em initMappingSqlQueries().
15:03:45,913 DEBUG [UserDetailsServiceUnis$UsuariosMapping] RdbmsOperation with SQL [select cduser.use_nom as username, cduser.use_sen as senha, cduser.ativo as ativo, cduser.use_niv as nivel from cduser where cduser.use_nom = ?] compiled
15:03:45,913 DEBUG [UserDetailsServiceUnis$AutorizacoesMapping] RdbmsOperation with SQL [select cduser.use_nom as username, cduser.use_sen as senha, cduser.ativo as ativo, cduser.use_niv as nivel from cduser where cduser.use_nom = ?] compiled
01/02/2010 15:03:46 org.apache.catalina.core.ApplicationContext log
INFO: Contexto inicializado!
01/02/2010 15:03:48 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
01/02/2010 15:03:48 org.apache.catalina.startup.Catalina start
INFO: Server startup in 45903 ms

Alguém tem alguma idéia o que pode ser ?

marcelo.bellissimo
Aqui  bem claro, diz que a tag &lt;struts&gt; tem que conter esse elementos (package|include|bean|constant) nessa ordem.  uma revisada no seu XML de config do Struts.

Aqui tá bem claro, diz que a tag <struts> tem que conter esse elementos (package|include|bean|constant) nessa ordem. Dá uma revisada no seu XML de config do Struts.

supertchuco

Valeu pela dica irmão, mas a dificuldade continua, (to muito burro nisso), olhei os arquivos e fiz as alterações , mudou o erro…, vou postar os arquivos para ver se alguem identifica e me explica o erro…

Configuração do struts

<?xml version="1.0" encoding="UTF-8"?>
	<!--
		/* * $Id: Action.java [telefone removido]-02-01 17:33:39Z niallp $ * *
		Licensed to the Apache Software Foundation (ASF) under one * or more
		contributor license agreements. See the NOTICE file * distributed with
		this work for additional information * regarding copyright ownership.
		The ASF licenses this file * to you under the Apache License, Version
		2.0 (the * "License"); you may not use this file except in compliance
		* with the License. You may obtain a copy of the License at * *
		http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by
		applicable law or agreed to in writing, * software distributed under
		the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES
		OR CONDITIONS OF ANY * KIND, either express or implied. See the
		License for the * specific language governing permissions and
		limitations * under the License. */
	-->

	<!-- START SNIPPET: strutsDtd -->

	<!--
		Struts configuration DTD. Use the following DOCTYPE <!DOCTYPE struts
		PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
		2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
	-->

<!ELEMENT struts (package|include|bean|constant)*>

<!ELEMENT package (result-types?, interceptors?, default-interceptor-ref?, default-action-ref?, default-class-ref?, global-results?, global-exception-mappings?, action*)>
<!ATTLIST package
    name CDATA #REQUIRED
    extends CDATA #IMPLIED
    namespace CDATA #IMPLIED
    abstract CDATA #IMPLIED
    externalReferenceResolver NMTOKEN #IMPLIED
>

<!ELEMENT result-types (result-type+)>

<!ELEMENT result-type (param*)>
<!ATTLIST result-type
    name CDATA #REQUIRED
    class CDATA #REQUIRED
    default (true|false) "false"
>

<!ELEMENT interceptors (interceptor|interceptor-stack)+>

<!ELEMENT interceptor (param*)>
<!ATTLIST interceptor
    name CDATA #REQUIRED
    class CDATA #REQUIRED
>

<!ELEMENT interceptor-stack (interceptor-ref*)>
<!ATTLIST interceptor-stack
    name CDATA #REQUIRED
>

<!ELEMENT interceptor-ref (param*)>
<!ATTLIST interceptor-ref
    name CDATA #REQUIRED
>

<!ELEMENT default-interceptor-ref (param*)>
<!ATTLIST default-interceptor-ref
    name CDATA #REQUIRED
>

<!ELEMENT default-action-ref (param*)>
<!ATTLIST default-action-ref
    name CDATA #REQUIRED
>

<!ELEMENT default-class-ref (param*)>
<!ATTLIST default-class-ref
    class CDATA #REQUIRED
>

<!ELEMENT global-results (result+)>

<!ELEMENT global-exception-mappings (exception-mapping+)>

<!ELEMENT action (param|result|interceptor-ref|exception-mapping)*>
<!ATTLIST action
    name CDATA #REQUIRED
    class CDATA #IMPLIED
    method CDATA #IMPLIED
    converter CDATA #IMPLIED
>

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!ELEMENT result (#PCDATA|param)*>
<!ATTLIST result
    name CDATA #IMPLIED
    type CDATA #IMPLIED
>

<!ELEMENT exception-mapping (#PCDATA|param)*>
<!ATTLIST exception-mapping
    name CDATA #IMPLIED
    exception CDATA #REQUIRED
    result CDATA #REQUIRED
>

<!ELEMENT include (#PCDATA)>
<!ATTLIST include
    file CDATA #REQUIRED
>

<!ELEMENT bean (#PCDATA)>
<!ATTLIST bean
    type CDATA #IMPLIED
    name CDATA #IMPLIED
    class CDATA #REQUIRED
    scope CDATA #IMPLIED
    static CDATA #IMPLIED
    optional CDATA #IMPLIED
>

<!ELEMENT constant (#PCDATA)>
<!ATTLIST constant
    name CDATA #REQUIRED
    value CDATA #REQUIRED    
>

	<!-- END SNIPPET: strutsDtd -->

Como ficou o struts

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
* Parte integrante do UnisWeb, framework de componentes e  utilit&#65533;rios criado pela Unisis para o
* desenvolvimento de aplica&#65533;&#65533;es Web, em plataforma Java (Sun Java EE Compliant Application).
*
* (C) 2008, Unisis Administra&#65533;&#65533;o Patrimonial. Todos os direitos reservados.
*
* Este programa de computador est&#65533; protegido pela lei de copyright. A reprodu&#65533;&#65533;o ou distribui&#65533;&#65533;o
* n&#65533;o autorizada deste programa, ou de qualquer parte dele, resultar&#65533; na  imposi&#65533;&#65533;o de rigorosas
* penas civis e criminais, e ser&#65533; objeto de a&#65533;&#65533;o judicial promovida na m&#65533;xima extens&#65533;o poss&#65533;vel,
* nos termos da lei.
*
* Hist&#65533;rico Subversion - Open Source Revision Control System.
*
* $LastChangedRevision: 300 $
* $LastChangedBy: ramon $
* $LastChangedDate: 2009-12-01 14:55:08 -0300 (Ter, 03 Jun 2008) $
* $HeadURL: http://200.175.79.118:8080/svn/web/unisweb/trunk/webapp/tela.html $
-->

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

<struts>
   
     <package name="fileUploadPackage" extends="struts-default">		
		<interceptors>
       		<interceptor-stack name="fileUploadStack">
					<interceptor-ref name="exportacaoDados">
						<param name="maximumSize">10240</param>
						<param name="allowedTypes"> image/jpeg,image/gif,image/png</param>
					</interceptor-ref>
        	</interceptor-stack>
	    </interceptors>	
	   
		<action name="ExportacaoDados" class="exportacaoDadosTableAction">
				<interceptor-ref name="fileUploadStack" />
				<result name="input">/index.jsp</result>
				<result name="success">/WEB-INF/jsp/secure/index.jsp</result>
		</action> 
	   
	</package>



    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    <constant name="struts.devMode" value="true"/>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; entrada no UnisPat ========== -->
    <package name="unispat" extends="struts-default">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="inicioapp" method="execute" class="unisPatAction">
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>
            <result name="login">/auth/loginRedirect.jsp</result>
            <result name="error">/auth/loginFailure.jsp</result>
        </action>

    </package>
	
	

    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o das tabelas ========== -->
    <package name="unispat-tabela" namespace="/ajax/tabela" extends="unis-ajax">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="Atividade" class="atividadeTableAction" />

        <action name="AtividadeComercial" class="atividadeComercialTableAction" />

	    <action name="DeprecContaMoeda" class="deprecContaMoedaTableAction" />

        <action name="Documento" class="documentoTableAction" />

        <action name="Especie" class="especieTableAction" />

        <action name="Exercicio" class="exercicioTableAction" />

        <action name="Cautela" class="cautelaTableAction" />

        <action name="Funcionario" class="funcionarioTableAction" />

        <action name="NivelControle" class="nivelControleTableAction" />

        <action name="Procedencia" class="procedenciaTableAction" />

        <action name="SituacaoBem" class="situacaoBemTableAction" />

        <action name="DepreciacaoIncentivada" class="depreciacaoIncentivadaTableAction"/>

        <action name="Unidade" class="unidadeTableAction" />

        <action name="TipoBaixa" class="tipoBaixaTableAction" />

        <action name="Transacao" class="transacaoTableAction" />

        <action name="SituacaoEconomica" class="situacaoEconomicaTableAction" />

        <action name="Valor" class="valorTableAction" />

        <action name="Banco" class="bancoTableAction" />

        <action name="Convenio" class="convenioTableAction" />

        <action name="Icms" class="icmsTableAction" />

        <action name="Pais" class="paisTableAction" />

        <action name="Estado" class="estadoTableAction" />

        <action name="Prazo" class="prazoTableAction" />

        <action name="CondicaoUso" class="condicaoUsoTableAction" />

        <action name="Empresa" class="empresaTableAction" />

        <action name="Filial" class="filialTableAction" />

        <action name="Moeda" class="moedaTableAction" />

        <action name="LimiteImobilizacao" class="limiteImobilizacaoAction" />

        <action name="Parametro" class="parametroTableAction" />

        <action name="NaturezaOperacional" class="naturezaOperacionalTableAction" />

        <action name="GrupoContabil" class="grupoContabilTableAction" />

        <action name="GrupoContas" class="grupoContasTableAction" />

        <action name="TipoContabilizacao" class="tipoContabilizacaoTableAction" />

        <action name="TabelaTipoLancamento" class="tabelaTipoLancamentoTableAction" />

		<action name="TabelaCampo" class="tabelaCampoTableAction" />

        <action name="ValorInterface" class="valorInterfaceTableAction" />

        <action name="HistoricoPadrao" class="historicoPadraoTableAction" />

        <action name="Baixa" class="baixaTableAction" />

		<action name="DescricaoPadrao" class="descricaoPadraoTableAction" />

		<action name="GrupoItensProjeto" class="grupoItensProjetoTableAction" />

		<action name="TabelaAux" class="tabelaAuxTableAction" />

		<action name="CopiaIndice" class="copiaIndiceTableAction" />

        <action name="FatorEstornoCreditoIcms" class="fatorEstornoCreditoIcmsTableAction" />

		<action name="Indice" class="indiceTableAction" />

		<action name="LinhaProducao" class="linhaProducaoTableAction" />

		<action name="CodigoAux" class="codigoAuxTableAction" />

		<action name="ConsultaCadastro" class="consultaCadastroTableAction" />

		<action name="GenericPopup" class="genericPopupTableAction" />
		
		<action name="SearchGeneralDescription" class="searchGeneralDescriptionTableAction" />

		<action name="DigitacaoBem" class="digitacaoBemTableAction" />

		<action name="CentroCusto" class="centroCustoTableAction" />

		<action name="PlantaSeguro" class="plantaSeguroTableAction" />

		<action name="ContaPatrimonial" class="contaPatrimonialTableAction" />

		<action name="CodigoClassificacao" class="codigoClassificacaoTableAction" />

		<action name="MoedaIndice" class="moedaIndiceTableAction" />

		<action name="Localizacao" class="localizacaoTableAction" />

	    <action name="Agencia" class="agenciaTableAction" /> 

		<action name="GrupoCentroCusto" class="grupoCentroCustoTableAction" />

		<action name="DepreciacaoCentroCustoMoeda" class="depreciacaoCentroCustoMoedaTableAction" />
		
		<action name="DepreciacaoLinhaProducaoMoeda" class="depreciacaoLinhaProducaoMoedaTableAction" />
		
		<action name="Transferencia" class="transferenciaTableAction" />
		
		<action name="Fornecedor" class="fornecedorTableAction" />

		<action name="SituacoesHistoricos" class="situacoesHistoricosTableAction" />
		
		<action name="GrupoCentroResponsabilidade" class="grupoCentroResponsabilidadeTableAction" />

 		<action name="HistoricoPlaquetas" class="historicoPlaquetasTableAction" />

 		<action name="FaixasPlaquetas" class="faixasPlaquetasTableAction" />
		
		<action name="CentroResponsabilidade" class="centroResponsabilidadeTableAction" />
		
		<action name="Especificacao" class="especificacaoTableAction" />
		
		

		
		
	<!--	<action name="Equipes" class="equipesTableAction" /> -->
		
		
		
		

	<!--	<action name="ParametroInterface" class="parametroInterfaceTableAction" /> -->

    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; movimenta&#65533;&#65533;o e processamento  ========== -->
    <package name="unispat-movimento" namespace="/secure/movimento" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o de cadastros ========== -->
    <package name="unispat-cadastro" namespace="/secure/cadastro" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas aos c&#65533;lculos gerais  ========== -->
    <package name="unispat-calculo" namespace="/secure/calculo" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; gera&#65533;&#65533;o de relat&#65533;rios  ========== -->
    <package name="unispat-relatorio" namespace="/secure/relatorio" extends="unis-ajax">
        
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas a utilit&#65533;rios gerais  ========== -->
    <package name="unispat-utilitario" namespace="/secure/utilitario" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; importa&#65533;&#65533;o/exporta&#65533;&#65533;o de arquivos  ========== -->
    <package name="unispat-interface" namespace="/secure/interface" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; documenta&#65533;&#65533;o on-line (help)  ========== -->
    <package name="unispat-ajuda" namespace="/secure/ajuda" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
	
	

</struts>

erro

INFO: Contexto inicializado!
01/02/2010 17:33:47 org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts
Unable to find interceptor class referenced by ref-name exportacaoDados - interceptor-ref - file:/C:/opt/eclipse/libraries/tomcat/webapps/unispat/WEB-INF/classes/struts.xml:31:46
	at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:50)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:743)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:756)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:777)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:410)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
	at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
01/02/2010 17:33:47 org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart

Bom , achava que struts não era tão dificil…, o bom é que largam essa bomba pra um estágiário e mandam se virar sozinho… :stuck_out_tongue:
Agradeço pela ajuda de todos…

marcelo.bellissimo

Cara, vai por mim... Struts é fácil, vai mexer com JSF que voce vai chorar!! :lol:
Só é chato de configurar, como todo framework, mas vejamos:

Unable to find interceptor class referenced by ref-name exportacaoDados

Não tá encontrando seu Interceptor... tenta isso:

&lt;package name="fileUploadPackage" extends="struts-default"&gt;        
         &lt;interceptors&gt;
             // ADICIONA ESSA LINHA:
             &lt;interceptor name="exportacaoDados" class="seu.pacote.exportacaoDados" /&gt;
             &lt;interceptor-stack name="fileUploadStack"&gt;  
                     &lt;interceptor-ref name="exportacaoDados"&gt;  
                         &lt;param name="maximumSize"&gt;10240&lt;/param&gt;  
                         &lt;param name="allowedTypes"&gt; image/jpeg,image/gif,image/png&lt;/param&gt;  
                     &lt;/interceptor-ref&gt;  
             &lt;/interceptor-stack&gt;  
         &lt;/interceptors&gt;     
          
         &lt;action name="ExportacaoDados" class="exportacaoDadosTableAction"&gt;  
                 &lt;interceptor-ref name="fileUploadStack" /&gt;  
                 &lt;result name="input"&gt;/index.jsp&lt;/result&gt;  
                 &lt;result name="success"&gt;/WEB-INF/jsp/secure/index.jsp&lt;/result&gt;  
         &lt;/action&gt;   
          
     &lt;/package&gt;

Voce tem que declarar seu interceptor antes de referenciar (interceptor-ref) o mesmo... tenta aí e ve se resolve... provavelmente vão aparecer outros erros, mas isso é normal... não desista! Struts é legal pra caramba, eu gosto dele! :lol:

marcelo.bellissimo

Ah… e qualquer dúvida, o primeiro lugar pra você ir esclarer é: documentação! Aqui: http://struts.apache.org/2.x/docs/interceptors.html

supertchuco

De volta a sala de justiça…

Bah tchê valeu mesmo pelas dicas…mas o troço continua não andando olhei a documentação e na net e não to entendendo agora, aparentemente ta certo…não sei informar o que ta errado…

configuração do struts

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
* Parte integrante do UnisWeb, framework de componentes e  utilit?rios criado pela Unisis para o
* desenvolvimento de aplica??es Web, em plataforma Java (Sun Java EE Compliant Application).
*
* (C) 2008, Unisis Administra??o Patrimonial. Todos os direitos reservados.
*
* Este programa de computador est? protegido pela lei de copyright. A reprodu??o ou distribui??o
* n?o autorizada deste programa, ou de qualquer parte dele, resultar? na  imposi??o de rigorosas
* penas civis e criminais, e ser? objeto de a??o judicial promovida na m?xima extens?o poss?vel,
* nos termos da lei.
*
* Hist?rico Subversion - Open Source Revision Control System.
*
* $LastChangedRevision: 300 $
* $LastChangedBy: ramon $
* $LastChangedDate: 2009-12-01 14:55:08 -0300 (Ter, 03 Jun 2008) $
* $HeadURL: http://200.175.79.118:8080/svn/web/unisweb/trunk/webapp/tela.html $
-->

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

<struts>
   
<package name="fileUploadPackage" extends="struts-default">            
    <interceptors>   
        <interceptor name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction" />   
        <interceptor-stack name="fileUploadStack">     
                <interceptor-ref name="exportacaoDados">     
                    <param name="maximumSize">10240</param>     
                    <param name="allowedTypes"> image/jpeg,image/gif,image/png</param>     
                </interceptor-ref>     
        </interceptor-stack>     
    </interceptors>       
       
    <action name="ExportacaoDados" class="exportacaoDadosTableAction">     
            <interceptor-ref name="fileUploadStack" />     
            <result name="input">/index.jsp</result>     
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>     
    </action>     
       
</package>



    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    <constant name="struts.devMode" value="true"/>


    <!-- ========= Declara??o das actions relativas ? entrada no UnisPat ========== -->
    <package name="unispat" extends="struts-default">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="inicioapp" method="execute" class="unisPatAction">
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>
            <result name="login">/auth/loginRedirect.jsp</result>
            <result name="error">/auth/loginFailure.jsp</result>
        </action>

    </package>
	
	

    <!-- ========= Declara??o das actions relativas ? manuten??o das tabelas ========== -->
    <package name="unispat-tabela" namespace="/ajax/tabela" extends="unis-ajax">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="Atividade" class="atividadeTableAction" />

        <action name="AtividadeComercial" class="atividadeComercialTableAction" />

	    <action name="DeprecContaMoeda" class="deprecContaMoedaTableAction" />

        <action name="Documento" class="documentoTableAction" />

        <action name="Especie" class="especieTableAction" />

        <action name="Exercicio" class="exercicioTableAction" />

        <action name="Cautela" class="cautelaTableAction" />

        <action name="Funcionario" class="funcionarioTableAction" />

        <action name="NivelControle" class="nivelControleTableAction" />

        <action name="Procedencia" class="procedenciaTableAction" />

        <action name="SituacaoBem" class="situacaoBemTableAction" />

        <action name="DepreciacaoIncentivada" class="depreciacaoIncentivadaTableAction"/>

        <action name="Unidade" class="unidadeTableAction" />

        <action name="TipoBaixa" class="tipoBaixaTableAction" />

        <action name="Transacao" class="transacaoTableAction" />

        <action name="SituacaoEconomica" class="situacaoEconomicaTableAction" />

        <action name="Valor" class="valorTableAction" />

        <action name="Banco" class="bancoTableAction" />

        <action name="Convenio" class="convenioTableAction" />

        <action name="Icms" class="icmsTableAction" />

        <action name="Pais" class="paisTableAction" />

        <action name="Estado" class="estadoTableAction" />

        <action name="Prazo" class="prazoTableAction" />

        <action name="CondicaoUso" class="condicaoUsoTableAction" />

        <action name="Empresa" class="empresaTableAction" />

        <action name="Filial" class="filialTableAction" />

        <action name="Moeda" class="moedaTableAction" />

        <action name="LimiteImobilizacao" class="limiteImobilizacaoAction" />

        <action name="Parametro" class="parametroTableAction" />

        <action name="NaturezaOperacional" class="naturezaOperacionalTableAction" />

        <action name="GrupoContabil" class="grupoContabilTableAction" />

        <action name="GrupoContas" class="grupoContasTableAction" />

        <action name="TipoContabilizacao" class="tipoContabilizacaoTableAction" />

        <action name="TabelaTipoLancamento" class="tabelaTipoLancamentoTableAction" />

		<action name="TabelaCampo" class="tabelaCampoTableAction" />

        <action name="ValorInterface" class="valorInterfaceTableAction" />

        <action name="HistoricoPadrao" class="historicoPadraoTableAction" />

        <action name="Baixa" class="baixaTableAction" />

		<action name="DescricaoPadrao" class="descricaoPadraoTableAction" />

		<action name="GrupoItensProjeto" class="grupoItensProjetoTableAction" />

		<action name="TabelaAux" class="tabelaAuxTableAction" />

		<action name="CopiaIndice" class="copiaIndiceTableAction" />

        <action name="FatorEstornoCreditoIcms" class="fatorEstornoCreditoIcmsTableAction" />

		<action name="Indice" class="indiceTableAction" />

		<action name="LinhaProducao" class="linhaProducaoTableAction" />

		<action name="CodigoAux" class="codigoAuxTableAction" />

		<action name="ConsultaCadastro" class="consultaCadastroTableAction" />

		<action name="GenericPopup" class="genericPopupTableAction" />
		
		<action name="SearchGeneralDescription" class="searchGeneralDescriptionTableAction" />

		<action name="DigitacaoBem" class="digitacaoBemTableAction" />

		<action name="CentroCusto" class="centroCustoTableAction" />

		<action name="PlantaSeguro" class="plantaSeguroTableAction" />

		<action name="ContaPatrimonial" class="contaPatrimonialTableAction" />

		<action name="CodigoClassificacao" class="codigoClassificacaoTableAction" />

		<action name="MoedaIndice" class="moedaIndiceTableAction" />

		<action name="Localizacao" class="localizacaoTableAction" />

	    <action name="Agencia" class="agenciaTableAction" /> 

		<action name="GrupoCentroCusto" class="grupoCentroCustoTableAction" />

		<action name="DepreciacaoCentroCustoMoeda" class="depreciacaoCentroCustoMoedaTableAction" />
		
		<action name="DepreciacaoLinhaProducaoMoeda" class="depreciacaoLinhaProducaoMoedaTableAction" />
		
		<action name="Transferencia" class="transferenciaTableAction" />
		
		<action name="Fornecedor" class="fornecedorTableAction" />

		<action name="SituacoesHistoricos" class="situacoesHistoricosTableAction" />
		
		<action name="GrupoCentroResponsabilidade" class="grupoCentroResponsabilidadeTableAction" />

 		<action name="HistoricoPlaquetas" class="historicoPlaquetasTableAction" />

 		<action name="FaixasPlaquetas" class="faixasPlaquetasTableAction" />
		
		<action name="CentroResponsabilidade" class="centroResponsabilidadeTableAction" />
		
		<action name="Especificacao" class="especificacaoTableAction" />
		
	 <action name="ExportacaoDados" class="exportacaoDadosTableAction">     
            <interceptor-ref name="fileUploadStack" />     
            <result name="input">/index.jsp</result>     
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>     
    </action>     
		
		

		
		
	<!--	<action name="Equipes" class="equipesTableAction" /> -->
		
		
		
		

	<!--	<action name="ParametroInterface" class="parametroInterfaceTableAction" /> -->

    </package>


    <!-- ========= Declara??o das actions relativas ? movimenta??o e processamento  ========== -->
    <package name="unispat-movimento" namespace="/secure/movimento" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara??o das actions relativas ? manuten??o de cadastros ========== -->
    <package name="unispat-cadastro" namespace="/secure/cadastro" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara??o das actions relativas aos c?lculos gerais  ========== -->
    <package name="unispat-calculo" namespace="/secure/calculo" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
    <!-- ========= Declara??o das actions relativas ? gera??o de relat?rios  ========== -->
    <package name="unispat-relatorio" namespace="/secure/relatorio" extends="unis-ajax">
        
    </package>


    <!-- ========= Declara??o das actions relativas a utilit?rios gerais  ========== -->
    <package name="unispat-utilitario" namespace="/secure/utilitario" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara??o das actions relativas ? importa??o/exporta??o de arquivos  ========== -->
    <package name="unispat-interface" namespace="/secure/interface" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara??o das actions relativas ? documenta??o on-line (help)  ========== -->
    <package name="unispat-ajuda" namespace="/secure/ajuda" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
	
	

</struts>

a action responsavel

package br.com.unisis.unispat.web.action.tabela;

import java.io.File;

import com.opensymphony.xwork2.ActionSupport;



public class ExportacaoDadosTableAction extends ActionSupport {

	private File userImage;

	private String userImageContentType;

	private String userImageFileName;

	public String execute()

	{

		return SUCCESS;

	}

	public File getUserImage() {

		return userImage;

	}

	public void setUserImage(File userImage) {

		this.userImage = userImage;

	}

	public String getUserImageContentType() {

		return userImageContentType;

	}

	public void setUserImageContentType(String userImageContentType) {

		this.userImageContentType = userImageContentType;

	}

	public String getUserImageFileName() {

		return userImageFileName;

	}

	public void setUserImageFileName(String userImageFileName) {

		this.userImageFileName = userImageFileName;

	}

}

e o erro

17:18:26,534 ERROR [InterceptorBuilder  ] Actual exception
Class [br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction] does not implement com.opensymphony.xwork2.interceptor.Interceptor - interceptor - file:/C:/opt/eclipse/libraries/tomcat/webapps/unispat/WEB-INF/classes/struts.xml:30:122
	at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:206)
	at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:57)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:743)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:756)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:777)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:410)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
	at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassCastException: br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction cannot be cast to com.opensymphony.xwork2.interceptor.Interceptor
	at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:184)

Tipo os imports da action estão certos, a action em si copiei de um tutorial na internet o que estaria errado ? o Struts mesmo ? Isso aqui ja ta pirando o cabeção :stuck_out_tongue:

supertchuco

Novamente na sala de justiça…

Percebi que eu não tinha um struts-default (animal que eu sou), e configurei de novo…

O struts-default ficou desse jeito:

<?xml version="1.0" encoding="UTF-8" ?>
<!--
/*
 * $Id$
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
    <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" />
    <bean type="com.opensymphony.xwork2.ObjectFactory" name="struts" class="org.apache.struts2.impl.StrutsObjectFactory" />

    <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
    <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="struts" class="org.apache.struts2.impl.StrutsActionProxyFactory"/>

    <bean type="com.opensymphony.xwork2.conversion.ObjectTypeDeterminer" name="tiger" class="com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer"/>
    <bean type="com.opensymphony.xwork2.conversion.ObjectTypeDeterminer" name="notiger" class="com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer"/>
    <bean type="com.opensymphony.xwork2.conversion.ObjectTypeDeterminer" name="struts" class="com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer"/>

    <bean type="com.opensymphony.xwork2.util.PatternMatcher" name="struts" class="com.opensymphony.xwork2.util.WildcardHelper" />
    <bean type="com.opensymphony.xwork2.util.PatternMatcher" name="namedVariable" class="com.opensymphony.xwork2.util.NamedVariablePatternMatcher"/>
    <bean type="com.opensymphony.xwork2.util.PatternMatcher" name="regex" class="org.apache.struts2.util.RegexPatternMatcher"/>

    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="struts" class="org.apache.struts2.dispatcher.mapper.DefaultActionMapper" />
    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="composite" class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful" class="org.apache.struts2.dispatcher.mapper.RestfulActionMapper" />
    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" name="restful2" class="org.apache.struts2.dispatcher.mapper.Restful2ActionMapper" />

    <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="struts" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default"/>
    <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest" name="jakarta" class="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest" scope="default" />
    <constant name="struts.multipart.handler" value="jakarta" />

    <bean type="org.apache.struts2.views.TagLibrary" name="s" class="org.apache.struts2.views.DefaultTagLibrary" />

    <bean class="org.apache.struts2.views.freemarker.FreemarkerManager" name="struts" />
    <bean class="org.apache.struts2.views.velocity.VelocityManager" name="struts" optional="true" />

    <bean class="org.apache.struts2.components.template.TemplateEngineManager" />
    <bean type="org.apache.struts2.components.template.TemplateEngine" name="ftl" class="org.apache.struts2.components.template.FreemarkerTemplateEngine" />
    <bean type="org.apache.struts2.components.template.TemplateEngine" name="vm" class="org.apache.struts2.components.template.VelocityTemplateEngine" />
    <bean type="org.apache.struts2.components.template.TemplateEngine" name="jsp" class="org.apache.struts2.components.template.JspTemplateEngine" />

    <bean type="com.opensymphony.xwork2.conversion.impl.XWorkConverter" name="struts" class="com.opensymphony.xwork2.conversion.impl.XWorkConverter" />
    <bean type="com.opensymphony.xwork2.conversion.impl.XWorkConverter" name="xwork1" class="com.opensymphony.xwork2.conversion.impl.XWorkConverter" />
    <bean class="com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter" />

    <bean type="com.opensymphony.xwork2.TextProvider" name="xwork1" class="com.opensymphony.xwork2.TextProviderSupport" scope="default" />
    <bean type="com.opensymphony.xwork2.TextProvider" name="struts" class="com.opensymphony.xwork2.TextProviderSupport" scope="default" />

    <bean type="org.apache.struts2.components.UrlRenderer" name="struts" class="org.apache.struts2.components.ServletUrlRenderer"/>

    <bean type="com.opensymphony.xwork2.util.ValueStackFactory" name="struts" class="com.opensymphony.xwork2.ognl.OgnlValueStackFactory" />
    <bean type="com.opensymphony.xwork2.util.reflection.ReflectionProvider" name="struts" class="com.opensymphony.xwork2.ognl.OgnlReflectionProvider" />
    <bean type="com.opensymphony.xwork2.util.reflection.ReflectionContextFactory" name="struts" class="com.opensymphony.xwork2.ognl.OgnlReflectionContextFactory" />

    <bean type="com.opensymphony.xwork2.TextProvider" name="system" class="com.opensymphony.xwork2.DefaultTextProvider" />
    <bean type="com.opensymphony.xwork2.conversion.NullHandler" name="java.lang.Object" class="com.opensymphony.xwork2.conversion.impl.InstantiatingNullHandler" />

    <bean type="com.opensymphony.xwork2.validator.ActionValidatorManager" name="struts" class="com.opensymphony.xwork2.validator.AnnotationActionValidatorManager" />
    <bean type="com.opensymphony.xwork2.validator.ActionValidatorManager" name="no-annotations" class="com.opensymphony.xwork2.validator.DefaultActionValidatorManager" />

    <bean type="com.opensymphony.xwork2.validator.ValidatorFactory" class="com.opensymphony.xwork2.validator.DefaultValidatorFactory"/>
    <bean type="com.opensymphony.xwork2.validator.ValidatorFileParser" class="com.opensymphony.xwork2.validator.DefaultValidatorFileParser" />

    <bean class="com.opensymphony.xwork2.ognl.OgnlUtil" />

    <bean type="ognl.PropertyAccessor" name="com.opensymphony.xwork2.util.CompoundRoot" class="com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.lang.Object" class="com.opensymphony.xwork2.ognl.accessor.ObjectAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.Iterator" class="com.opensymphony.xwork2.ognl.accessor.XWorkIteratorPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.Enumeration" class="com.opensymphony.xwork2.ognl.accessor.XWorkEnumerationAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.List" class="com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.Set" class="com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.Map" class="com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.Collection" class="com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="com.opensymphony.xwork2.ognl.ObjectProxy" class="com.opensymphony.xwork2.ognl.accessor.ObjectProxyPropertyAccessor" />

    <bean type="ognl.MethodAccessor" name="java.lang.Object" class="com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor" />
    <bean type="ognl.MethodAccessor" name="com.opensymphony.xwork2.util.CompoundRoot" class="com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor" />

    <bean class="org.apache.struts2.views.jsp.ui.OgnlTool" />

    <bean type="org.apache.struts2.dispatcher.StaticContentLoader" class="org.apache.struts2.dispatcher.DefaultStaticContentLoader" name="struts" />
    <bean type="com.opensymphony.xwork2.UnknownHandlerManager" class="com.opensymphony.xwork2.DefaultUnknownHandlerManager" name="struts" />

    <!--  Silly workarounds for OGNL since there is currently no way to flush its internal caches -->
    <bean type="ognl.PropertyAccessor" name="java.util.ArrayList" class="com.opensymphony.xwork2.ognl.accessor.XWorkListPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.HashSet" class="com.opensymphony.xwork2.ognl.accessor.XWorkCollectionPropertyAccessor" />
    <bean type="ognl.PropertyAccessor" name="java.util.HashMap" class="com.opensymphony.xwork2.ognl.accessor.XWorkMapPropertyAccessor" />

   
  <!--  struts.multipart.parser=jakarta //Para utilizar as libs da apache   
        struts.multipart.maxSize=2097152 //seta o tamanho maximo do upload -->   
  
   
   
    <package name="struts-default" abstract="true">
        <result-types>
            <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
            <result-type name="dispatcher" class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
            <result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/>
            <result-type name="httpheader" class="org.apache.struts2.dispatcher.HttpHeaderResult"/>
            <result-type name="redirect" class="org.apache.struts2.dispatcher.ServletRedirectResult"/>
            <result-type name="redirectAction" class="org.apache.struts2.dispatcher.ServletActionRedirectResult"/>
            <result-type name="stream" class="org.apache.struts2.dispatcher.StreamResult"/>
            <result-type name="velocity" class="org.apache.struts2.dispatcher.VelocityResult"/>
            <result-type name="xslt" class="org.apache.struts2.views.xslt.XSLTResult"/>
            <result-type name="plainText" class="org.apache.struts2.dispatcher.PlainTextResult" />
        </result-types>

        <interceptors>
            <interceptor name="alias" class="com.opensymphony.xwork2.interceptor.AliasInterceptor"/>
            <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
            <interceptor name="chain" class="com.opensymphony.xwork2.interceptor.ChainingInterceptor"/>
            <interceptor name="conversionError" class="org.apache.struts2.interceptor.StrutsConversionErrorInterceptor"/>
            <interceptor name="cookie" class="org.apache.struts2.interceptor.CookieInterceptor"/>
            <interceptor name="clearSession" class="org.apache.struts2.interceptor.ClearSessionInterceptor" />
            <interceptor name="createSession" class="org.apache.struts2.interceptor.CreateSessionInterceptor" />
            <interceptor name="debugging" class="org.apache.struts2.interceptor.debugging.DebuggingInterceptor" />
            <interceptor name="externalRef" class="com.opensymphony.xwork2.interceptor.ExternalReferencesInterceptor"/>
            <interceptor name="execAndWait" class="org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"/>
            <interceptor name="exception" class="com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"/>
            <interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>
            <interceptor name="i18n" class="com.opensymphony.xwork2.interceptor.I18nInterceptor"/>
            <interceptor name="logger" class="com.opensymphony.xwork2.interceptor.LoggingInterceptor"/>
            <interceptor name="modelDriven" class="com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"/>
            <interceptor name="scopedModelDriven" class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor"/>
            <interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
            <interceptor name="actionMappingParams" class="org.apache.struts2.interceptor.ActionMappingParametersInteceptor"/>
            <interceptor name="prepare" class="com.opensymphony.xwork2.interceptor.PrepareInterceptor"/>
            <interceptor name="staticParams" class="com.opensymphony.xwork2.interceptor.StaticParametersInterceptor"/>
            <interceptor name="scope" class="org.apache.struts2.interceptor.ScopeInterceptor"/>
            <interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/>
            <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
            <interceptor name="timer" class="com.opensymphony.xwork2.interceptor.TimerInterceptor"/>
            <interceptor name="token" class="org.apache.struts2.interceptor.TokenInterceptor"/>
            <interceptor name="tokenSession" class="org.apache.struts2.interceptor.TokenSessionStoreInterceptor"/>
            <interceptor name="validation" class="org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor"/>
            <interceptor name="workflow" class="com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor"/>
            <interceptor name="store" class="org.apache.struts2.interceptor.MessageStoreInterceptor" />
            <interceptor name="checkbox" class="org.apache.struts2.interceptor.CheckboxInterceptor" />
            <interceptor name="profiling" class="org.apache.struts2.interceptor.ProfilingActivationInterceptor" />
            <interceptor name="roles" class="org.apache.struts2.interceptor.RolesInterceptor" />
            <interceptor name="jsonValidation" class="org.apache.struts2.interceptor.validation.JSONValidationInterceptor" />
            <interceptor name="annotationWorkflow" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor" />
            <interceptor name="multiselect" class="org.apache.struts2.interceptor.MultiselectInterceptor" />

            <!-- Basic stack -->
            <interceptor-stack name="basicStack">
                <interceptor-ref name="exception"/>
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="multiselect"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                    <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
            </interceptor-stack>

            <!-- Sample validation and workflow stack -->
            <interceptor-stack name="validationWorkflowStack">
                <interceptor-ref name="basicStack"/>
                <interceptor-ref name="validation"/>
                <interceptor-ref name="workflow"/>
            </interceptor-stack>

            <!-- Sample JSON validation stack -->
            <interceptor-stack name="jsonValidationWorkflowStack">
                <interceptor-ref name="basicStack"/>
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
                <interceptor-ref name="jsonValidation"/>
                <interceptor-ref name="workflow"/>
            </interceptor-stack>

            <!-- Sample file upload stack -->
            <interceptor-stack name="fileUploadStack">
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!-- Sample model-driven stack  -->
            <interceptor-stack name="modelDrivenStack">
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!-- Sample action chaining stack -->
            <interceptor-stack name="chainStack">
                <interceptor-ref name="chain"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!-- Sample i18n stack -->
            <interceptor-stack name="i18nStack">
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="basicStack"/>
            </interceptor-stack>

            <!-- An example of the paramsPrepareParams trick. This stack
                 is exactly the same as the defaultStack, except that it
                 includes one extra interceptor before the prepare interceptor:
                 the params interceptor.

                 This is useful for when you wish to apply parameters directly
                 to an object that you wish to load externally (such as a DAO
                 or database or service layer), but can't load that object
                 until at least the ID parameter has been loaded. By loading
                 the parameters twice, you can retrieve the object in the
                 prepare() method, allowing the second params interceptor to
                 apply the values on the object. -->
            <interceptor-stack name="paramsPrepareParamsStack">
                <interceptor-ref name="exception"/>
                <interceptor-ref name="alias"/>
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="multiselect"/>
                <interceptor-ref name="params">
                    <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="chain"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                    <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                <interceptor-ref name="workflow">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
            </interceptor-stack>

            <!-- A complete stack with all the common interceptors in place.
                 Generally, this stack should be the one you use, though it
                 may do more than you need. Also, the ordering can be
                 switched around (ex: if you wish to have your servlet-related
                 objects applied before prepare() is called, you'd need to move
                 servletConfig interceptor up.

                 This stack also excludes from the normal validation and workflow
                 the method names input, back, and cancel. These typically are
                 associated with requests that should not be validated.
                 -->
            <interceptor-stack name="defaultStack">
                <interceptor-ref name="exception"/>
                <interceptor-ref name="alias"/>
                <interceptor-ref name="servletConfig"/>
                <interceptor-ref name="i18n"/>
                <interceptor-ref name="prepare"/>
                <interceptor-ref name="chain"/>
                <interceptor-ref name="debugging"/>
                <interceptor-ref name="scopedModelDriven"/>
                <interceptor-ref name="modelDriven"/>
                <interceptor-ref name="fileUpload"/>
                <interceptor-ref name="checkbox"/>
                <interceptor-ref name="multiselect"/>
                <interceptor-ref name="staticParams"/>
                <interceptor-ref name="actionMappingParams"/>
                <interceptor-ref name="params">
                  <param name="excludeParams">dojo\..*,^struts\..*</param>
                </interceptor-ref>
                <interceptor-ref name="conversionError"/>
                <interceptor-ref name="validation">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
                <interceptor-ref name="workflow">
                    <param name="excludeMethods">input,back,cancel,browse</param>
                </interceptor-ref>
            </interceptor-stack>

            <!-- The completeStack is here for backwards compatibility for
                 applications that still refer to the defaultStack by the
                 old name -->
            <interceptor-stack name="completeStack">
                <interceptor-ref name="defaultStack"/>
            </interceptor-stack>

            <!-- Sample execute and wait stack.
                 Note: execAndWait should always be the *last* interceptor. -->
            <interceptor-stack name="executeAndWaitStack">
                <interceptor-ref name="execAndWait">
                    <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="execAndWait">
                    <param name="excludeMethods">input,back,cancel</param>
                </interceptor-ref>
            </interceptor-stack>

       </interceptors>

        <default-interceptor-ref name="defaultStack"/>

        <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />
    </package>

</struts>

e agora o erro mudou de novo…

SEVERE: Exception starting filter struts
Unable to load bean: type:com.opensymphony.xwork2.conversion.ObjectTypeDeterminer class:com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer - bean - file:/C:/opt/eclipse/libraries/tomcat/webapps/unispat/WEB-INF/classes/struts-default.xml:35:164
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:208)
	at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
	at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:131)
	at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
	at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
	at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
	at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:829)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:718)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
	at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:147)
	at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:180)
	... 33 more

Esse erro de loadConfigurationFiles ? Tipo ta faltando algum arquivo de configuração ainda ?

supertchuco

Bom mudei novamente os arquivos e finalmente não está dando erro ao inicializar o tomcat…mas também não está funcionando http://www.guj.com.br/posts/listSmilies.java#

os struts

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
* Parte integrante do UnisWeb, framework de componentes e  utilit&#65533;rios criado pela Unisis para o
* desenvolvimento de aplica&#65533;&#65533;es Web, em plataforma Java (Sun Java EE Compliant Application).
*
* (C) 2008, Unisis Administra&#65533;&#65533;o Patrimonial. Todos os direitos reservados.
*
* Este programa de computador est&#65533; protegido pela lei de copyright. A reprodu&#65533;&#65533;o ou distribui&#65533;&#65533;o
* n&#65533;o autorizada deste programa, ou de qualquer parte dele, resultar&#65533; na  imposi&#65533;&#65533;o de rigorosas
* penas civis e criminais, e ser&#65533; objeto de a&#65533;&#65533;o judicial promovida na m&#65533;xima extens&#65533;o poss&#65533;vel,
* nos termos da lei.
*
* Hist&#65533;rico Subversion - Open Source Revision Control System.
*
* $LastChangedRevision: 300 $
* $LastChangedBy: ramon $
* $LastChangedDate: 2009-12-01 14:55:08 -0300 (Ter, 03 Jun 2008) $
* $HeadURL: http://200.175.79.118:8080/svn/web/unisweb/trunk/webapp/tela.html $
-->

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

<struts>
 
  <include file="struts-default.xml" />   
 
 
 
 
 
 
 <package name="fileUpload" extends="struts-default" >   
           
        <action name="upload" class="br.com.unisis.unispat.web.action.tabela.FileUploadAction" method="input">   
            <result>index.jsp</result>   
        </action>   
  
        <action name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.FileUploadAction" method="moveArquivo">   
            <result name="input">upload.jsp</result>   
            <result>index.jsp</result>   
        </action>   
                   
    </package>
 
 
 
 
 <package name="default" extends="struts-default" >   
        <action name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.UploadAction" method="upload">   
            <result name="input">upload.jsp</result>   
            <result>index.jsp</result>   
            <interceptor-ref name="fileUpload"/>   
            <interceptor-ref name="basicStack"/>   
        </action>   
    </package> 
 
 
 
 
 
  <!-- <import resource="struts-default.xml"/> -->
 
   
 <!-- <package name="fileUploadPackage" extends="struts-default" >   
           
        <action name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction" method="input">   
            <result>index.jsp</result>   
        </action>   
  
        <action name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction" method="upload">   
            <result name="input">index.jsp</result>   
            <result>index.jsp</result>   
        </action>   
                   
    </package>  --> 
	
	
	<!--<package name="fileUploadPackage" extends="struts-default">               
    <interceptors>     
        <interceptor name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.ExportacaoDadosTableAction" />     
        <interceptor-stack name="fileUploadStack">       
                <interceptor-ref name="exportacaoDados">       
                    <param name="maximumSize">10240</param>       
                    <param name="allowedTypes"> image/jpeg,image/gif,image/png</param>       
                </interceptor-ref>       
        </interceptor-stack>       
    </interceptors>         
         
    <action name="ExportacaoDados" class="exportacaoDadosTableAction">       
            <interceptor-ref name="fileUploadStack" />       
            <result name="input">/index.jsp</result>       
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>       
    </action>       
         
</package>    -->




	
	
    <constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory"/>
    <constant name="struts.objectFactory.spring.autoWire" value="name"/>
    <constant name="struts.devMode" value="true"/>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; entrada no UnisPat ========== -->
    <package name="unispat" extends="struts-default">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="inicioapp" method="execute" class="unisPatAction">
            <result name="success">/WEB-INF/jsp/secure/index.jsp</result>
            <result name="login">/auth/loginRedirect.jsp</result>
            <result name="error">/auth/loginFailure.jsp</result>
        </action>

    </package>
	
	

    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o das tabelas ========== -->
    <package name="unispat-tabela" namespace="/ajax/tabela" extends="unis-ajax">

        <!-- ============ Classes das actions gerenciadas pelo container IOC =============== -->
        <action name="Atividade" class="atividadeTableAction" />

        <action name="AtividadeComercial" class="atividadeComercialTableAction" />

	    <action name="DeprecContaMoeda" class="deprecContaMoedaTableAction" />

        <action name="Documento" class="documentoTableAction" />

        <action name="Especie" class="especieTableAction" />

        <action name="Exercicio" class="exercicioTableAction" />

        <action name="Cautela" class="cautelaTableAction" />

        <action name="Funcionario" class="funcionarioTableAction" />

        <action name="NivelControle" class="nivelControleTableAction" />

        <action name="Procedencia" class="procedenciaTableAction" />

        <action name="SituacaoBem" class="situacaoBemTableAction" />

        <action name="DepreciacaoIncentivada" class="depreciacaoIncentivadaTableAction"/>

        <action name="Unidade" class="unidadeTableAction" />

        <action name="TipoBaixa" class="tipoBaixaTableAction" />

        <action name="Transacao" class="transacaoTableAction" />

        <action name="SituacaoEconomica" class="situacaoEconomicaTableAction" />

        <action name="Valor" class="valorTableAction" />

        <action name="Banco" class="bancoTableAction" />

        <action name="Convenio" class="convenioTableAction" />

        <action name="Icms" class="icmsTableAction" />

        <action name="Pais" class="paisTableAction" />

        <action name="Estado" class="estadoTableAction" />

        <action name="Prazo" class="prazoTableAction" />

        <action name="CondicaoUso" class="condicaoUsoTableAction" />

        <action name="Empresa" class="empresaTableAction" />

        <action name="Filial" class="filialTableAction" />

        <action name="Moeda" class="moedaTableAction" />

        <action name="LimiteImobilizacao" class="limiteImobilizacaoAction" />

        <action name="Parametro" class="parametroTableAction" />

        <action name="NaturezaOperacional" class="naturezaOperacionalTableAction" />

        <action name="GrupoContabil" class="grupoContabilTableAction" />

        <action name="GrupoContas" class="grupoContasTableAction" />

        <action name="TipoContabilizacao" class="tipoContabilizacaoTableAction" />

        <action name="TabelaTipoLancamento" class="tabelaTipoLancamentoTableAction" />

		<action name="TabelaCampo" class="tabelaCampoTableAction" />

        <action name="ValorInterface" class="valorInterfaceTableAction" />

        <action name="HistoricoPadrao" class="historicoPadraoTableAction" />

        <action name="Baixa" class="baixaTableAction" />

		<action name="DescricaoPadrao" class="descricaoPadraoTableAction" />

		<action name="GrupoItensProjeto" class="grupoItensProjetoTableAction" />

		<action name="TabelaAux" class="tabelaAuxTableAction" />

		<action name="CopiaIndice" class="copiaIndiceTableAction" />

        <action name="FatorEstornoCreditoIcms" class="fatorEstornoCreditoIcmsTableAction" />

		<action name="Indice" class="indiceTableAction" />

		<action name="LinhaProducao" class="linhaProducaoTableAction" />

		<action name="CodigoAux" class="codigoAuxTableAction" />

		<action name="ConsultaCadastro" class="consultaCadastroTableAction" />

		<action name="GenericPopup" class="genericPopupTableAction" />
		
		<action name="SearchGeneralDescription" class="searchGeneralDescriptionTableAction" />

		<action name="DigitacaoBem" class="digitacaoBemTableAction" />

		<action name="CentroCusto" class="centroCustoTableAction" />

		<action name="PlantaSeguro" class="plantaSeguroTableAction" />

		<action name="ContaPatrimonial" class="contaPatrimonialTableAction" />

		<action name="CodigoClassificacao" class="codigoClassificacaoTableAction" />

		<action name="MoedaIndice" class="moedaIndiceTableAction" />

		<action name="Localizacao" class="localizacaoTableAction" />

	    <action name="Agencia" class="agenciaTableAction" /> 

		<action name="GrupoCentroCusto" class="grupoCentroCustoTableAction" />

		<action name="DepreciacaoCentroCustoMoeda" class="depreciacaoCentroCustoMoedaTableAction" />
		
		<action name="DepreciacaoLinhaProducaoMoeda" class="depreciacaoLinhaProducaoMoedaTableAction" />
		
		<action name="Transferencia" class="transferenciaTableAction" />
		
		<action name="Fornecedor" class="fornecedorTableAction" />

		<action name="SituacoesHistoricos" class="situacoesHistoricosTableAction" />
		
		<action name="GrupoCentroResponsabilidade" class="grupoCentroResponsabilidadeTableAction" />

 		<action name="HistoricoPlaquetas" class="historicoPlaquetasTableAction" />

 		<action name="FaixasPlaquetas" class="faixasPlaquetasTableAction" />
		
		<action name="CentroResponsabilidade" class="centroResponsabilidadeTableAction" />
		
		<action name="Especificacao" class="especificacaoTableAction" />
		
	    <action name="ExportacaoDados" class="exportacaoDadosTableAction" /> 
		  
		

		

		
		
	<!--	<action name="Equipes" class="equipesTableAction" /> -->
		
		
		
		

	<!--	<action name="ParametroInterface" class="parametroInterfaceTableAction" /> -->

    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; movimenta&#65533;&#65533;o e processamento  ========== -->
    <package name="unispat-movimento" namespace="/secure/movimento" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; manuten&#65533;&#65533;o de cadastros ========== -->
    <package name="unispat-cadastro" namespace="/secure/cadastro" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas aos c&#65533;lculos gerais  ========== -->
    <package name="unispat-calculo" namespace="/secure/calculo" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; gera&#65533;&#65533;o de relat&#65533;rios  ========== -->
    <package name="unispat-relatorio" namespace="/secure/relatorio" extends="unis-ajax">
        
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas a utilit&#65533;rios gerais  ========== -->
    <package name="unispat-utilitario" namespace="/secure/utilitario" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; importa&#65533;&#65533;o/exporta&#65533;&#65533;o de arquivos  ========== -->
    <package name="unispat-interface" namespace="/secure/interface" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>


    <!-- ========= Declara&#65533;&#65533;o das actions relativas &#65533; documenta&#65533;&#65533;o on-line (help)  ========== -->
    <package name="unispat-ajuda" namespace="/secure/ajuda" extends="unis-ajax">
        <!-- ============  =============== -->
    </package>
	
	
	

</struts>

criei a essa action

package br.com.unisis.unispat.web.action.tabela;

import org.apache.struts2.components.File;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {   
  
    private static final long serialVersionUID = 5156288255337069381L;   
  
    private String contentType;   
    private File upload;   
    private String fileName;   
    private String caption;   
       
    public String getUploadFileName() {   
        return fileName;   
    }   
    public void setUploadFileName(String fileName) {   
        this.fileName = fileName;   
    }   
  
    public String getUploadContentType() {   
        return contentType;   
    }   
    public void setUploadContentType(String contentType) {   
        this.contentType = contentType;   
    }   
  
    public File getUpload() {   
        return upload;   
    }   
    public void setUpload(File upload) {   
        this.upload = upload;   
    }   
  
    public String getCaption() {   
        return caption;   
    }   
    public void setCaption(String caption) {   
        this.caption = caption;   
    }   
  
    public String input() throws Exception {   
        return SUCCESS;   
    }   
  
    public String upload() throws Exception  {   
  
        return SUCCESS;   
    }   
}

Ele não apresenta erro , o interceptor não está sendo chamado , então me gera uma dúvida…

Qual a forma certa de configurar o interceptor , já vi vários exemplos na internet…, como da pra ver no meu struts configurei dois exemplos diferentes de interceptor , mas ambos não são chamados…

Por exemplo esse

<package name="default" extends="struts-default" >   
        <action name="exportacaoDados" class="br.com.unisis.unispat.web.action.tabela.UploadAction" method="upload">   
            <result name="input">upload.jsp</result>   
            <result>index.jsp</result>   
            <interceptor-ref name="fileUpload"/>   
            <interceptor-ref name="basicStack"/>   
        </action>   
    </package>

Tipo alguém poderia me dar a definição dessas propriedades abaixo…, para ver se eu localizo o problema…

action name= ??
class= ??
interceptor-ref name ??

Agradeço qualquer ajuda…

Criado 1 de fevereiro de 2010
Ultima resposta 11 de fev. de 2010
Respostas 10
Participantes 4