im a mother fu...... i found the problem
when i use the tag debub s2 calls my getters methods thanks all On Mon, Dec 8, 2008 at 3:04 PM, Paweł Wielgus <[EMAIL PROTECTED]> wrote: > Hi Eugenio, > i just tried to replicate Your problem, > the thing is that i remember in S1 (don't know which version) that was > normal behavior, > getter was called n times where n is list.size() - more or less. > > But in S2 i don't see it anymore. > So if You want to find what's going on try to add some debuging. > > Best greetings, > Paweł Wielgus. > > > 2008/12/5 Felipe Lorenz <[EMAIL PROTECTED]>: > > Did you try to debug your application? Or try to see from what > > Action/JSP its called! Or create a Interceptor to print a log: > > > > public class Log4JInterceptor extends AbstractInterceptor { > > > > @Override > > public String intercept(ActionInvocation invocation) throws Exception > { > > String comando = invocation.getInvocationContext().getName(); > > Map parametros = > invocation.getInvocationContext().getParameters(); > > Map sessao = invocation.getInvocationContext().getSession(); > > > > String loginUsuario = "anonimo"; > > if( sessao.containsKey(SessionSuport.USER_SESSION) ) { > > Colaborador colaborador = (Colaborador) sessao.get( > > SessionSuport.USER_SESSION ); > > loginUsuario = colaborador.getLogin(); > > } > > > > String linhaLog = ""; > > Logger log = Logger.getLogger( comando ); > > String retorno = invocation.invoke(); > > > > if( !retorno.equals("erro") ) { > > for( Object chave : parametros.keySet() ) { > > Object valor = parametros.get( chave ); > > String valorStr = ""; > > if( valor instanceof String[] ) { > > for( String atual : ((String[])valor) ) > > valorStr += atual + ","; > > } > > valorStr = valorStr.substring( 0, valorStr.length()-1 ); > > linhaLog += chave + "=" + valorStr + ";"; > > } > > linhaLog = linhaLog.trim(); > > > > if( !linhaLog.equals("") ) { > > PatternLayout layout = new PatternLayout( > > "%d{HH:mm:ss} - " + loginUsuario + " - %c - %m%n" ); > > > > String formatoData = "dd-MM-yyyy"; > > SimpleDateFormat sdf = new SimpleDateFormat( formatoData > ); > > String hoje = sdf.format( new Date() ); > > > > String nomeArquivo = "logGerAtividade.log"; > > > > DailyRollingFileAppender appender = new > > DailyRollingFileAppender( layout, nomeArquivo, "dd-MM-yyyy" ); > > appender.setEncoding( "ISO-8859-1" ); > > > > ConsoleAppender consoleAppender = new ConsoleAppender( > > layout, "System.out" ); > > consoleAppender.setEncoding( "ISO-8859-1" ); > > > > log.addAppender( appender ); > > log.addAppender( consoleAppender ); > > > > log.info( linhaLog ); > > > > log.removeAllAppenders(); > > } > > } else { > > ActionSupport action = ActionSupport.class.cast( > > invocation.getAction() ); > > Collection erros = action.getActionErrors(); > > for( Object erro : erros ) { > > linhaLog += erro + ","; > > } > > > > linhaLog = linhaLog.substring( 0, linhaLog.length()-1 ); > > > > if( !linhaLog.equals("") ) { > > PatternLayout layout = new PatternLayout( > > "%d{HH:mm:ss} - " + loginUsuario + " - %c - %m%n" ); > > String formatoData = "dd-MM-yyyy"; > > SimpleDateFormat sdf = new SimpleDateFormat( formatoData > ); > > String hoje = sdf.format( new Date() ); > > > > String nomeArquivo = "logGerAtividadeERROR.log"; > > > > DailyRollingFileAppender appender = new > > DailyRollingFileAppender( layout, nomeArquivo, "dd-MM-yyyy" ); > > appender.setEncoding( "ISO-8859-1" ); > > > > ConsoleAppender consoleAppender = new ConsoleAppender( > > layout, "System.out" ); > > consoleAppender.setEncoding( "ISO-8859-1" ); > > > > log.addAppender( appender ); > > log.addAppender( consoleAppender ); > > > > log.info( linhaLog ); > > > > log.removeAllAppenders(); > > } > > } > > return retorno; > > } > > > > } > > > > On Fri, Dec 5, 2008 at 9:07 AM, Eugenio Perrotta Neto > > <[EMAIL PROTECTED]> wrote: > >> anybody has the answer? > >> > >> On Thu, Dec 4, 2008 at 2:05 PM, Eugenio Perrotta Neto < > >> [EMAIL PROTECTED]> wrote: > >> > >>> the code is here: > >>> > >>> > >>> > >>> i have a tag file called page.tag > >>> > >>> > >>> <%@ tag body-content="scriptless" %> > >>> <%@ tag pageEncoding="UTF-8" %> > >>> <[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %> > >>> <[EMAIL PROTECTED] prefix="sicat2" uri="/WEB-INF/sicat2.tld" %> > >>> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " > >>> http://www.w3.org/TR/html4/loose.dtd"> > >>> <html> > >>> <head> > >>> <meta http-equiv="Content-Type" content="text/html; > charset=UTF-8" > >>> /> > >>> <link rel="stylesheet" href="<s:url value='/css/main.css' > >>> includeParams='none' encode='false' namespace="/" />" > type="text/css"/> > >>> <link rel="shortcut icon" href="<s:url > >>> value='/images/favicon.ico'/>" /> > >>> <title><s:property value="appName" /> : <s:property > >>> value="moduleName" /> : <s:property value="pageTitle" /></title> > >>> <SCRIPT src="<s:url value='/js/lib/prototype/ > >>> prototype-1.6.0.3.js' includeParams='none' />" charset="UTF-8" > >>> type="text/javascript"></SCRIPT> > >>> <SCRIPT src="<s:url value='/js/common.js' > includeParams='none'/>" > >>> charset="UTF-8" type="text/javascript"></SCRIPT> > >>> </head> > >>> <body class="sicat2"> > >>> <table width="100%"> > >>> <tr><td><h1 id="pageTitle"><s:property value="moduleName"/> > : > >>> <s:property value="pageTitle"/></h1></td></tr> > >>> <tr><td><jsp:doBody /></td></tr> > >>> </table> > >>> </body> > >>> </html> > >>> > >>> > >>> > >>> > >>> and i have a jsp whit the code: > >>> > >>> > >>> <%@ page language="java" contentType="text/html; charset=UTF-8" > >>> pageEncoding="UTF-8"%> > >>> > >>> <%@ taglib prefix="ui" tagdir="/WEB-INF/tags"%> > >>> <%@ taglib prefix="s" uri="/struts-tags" %> > >>> <%@ taglib prefix="sicat2" uri="/WEB-INF/sicat2.tld" %> > >>> <%@ taglib prefix="display" uri="http://displaytag.sf.net" %> > >>> > >>> <ui:page> > >>> <sicat2:toolbar> > >>> <sicat2:submitButtom action="MaterialServicoList" > label="Filtrar" > >>> image="/images/icons/filter.png" /> > >>> <sicat2:actionButtom action="MaterialServicoAdd" label="Novo" > >>> image="/images/icons/add.png" /> > >>> </sicat2:toolbar> > >>> <fieldset> > >>> <legend>Filtro</legend> > >>> <s:form> > >>> <s:radio label="Situação" list="situacoes" > >>> name="filterSituacao" /> > >>> </s:form> > >>> </fieldset> > >>> <display:table name="list" id="materialServico" > >>> cellspacing="0"> > >>> <display:column property="numero" sortName="numero" > >>> sortable="true" defaultorder="ascending"/> > >>> <display:column property="descricao" sortName="descricao" > >>> sortable="true" defaultorder="ascending"/> > >>> <display:column> > >>> <sicat2:actionButtom action="MaterialServicoEdit" > >>> title="Editar" image="/images/icons/edit.png" > > >>> <sicat2:buttonParam name="materialServico.id" value="# > >>> attr.materialServico.id <http://attr.materialservico.id/>"/> > >>> </sicat2:actionButtom> > >>> </display:column> > >>> </display:table> > >>> </ui:page> > >>> > >>> > >>> My action has this code: > >>> > >>> package br.com.cesan.sicat2.module.servico; > >>> > >>> import java.util.List; > >>> import java.util.Map; > >>> > >>> import org.displaytag.pagination.PaginatedList; > >>> import org.displaytag.properties.SortOrderEnum; > >>> > >>> import br.com.cesan.sicat2.domain.servico.SituacaoMaterialServico; > >>> import br.com.cesan.sicat2.util.FilterInfo; > >>> import br.com.cesan.sicat2.util.ListInfo; > >>> import br.com.cesan.sicat2.util.SortOrder; > >>> > >>> public class MaterialServicoList extends MaterialServicoBaseAction { > >>> > >>> private SituacaoMaterialServico filterSituacao = > >>> SituacaoMaterialServico.ATIVO; > >>> > >>> private FilterInfo filter = new FilterInfo(10, 1, "numero", > >>> SortOrder.ASC); > >>> > >>> public void setFilter(FilterInfo filterInfo) { > >>> this.filter = filterInfo; > >>> } > >>> > >>> public FilterInfo getFilter() { > >>> return filter; > >>> } > >>> > >>> public PaginatedList getList(){ > >>> final ListInfo list = materialServicoService.list(getFilter()); > >>> > >>> return new PaginatedList(){ > >>> public int getFullListSize() { > >>> return list.getListSize(); > >>> } > >>> > >>> public List getList() { > >>> return list.getList(); > >>> } > >>> > >>> public int getObjectsPerPage() { > >>> return getFilter().getPageSize(); > >>> } > >>> > >>> public int getPageNumber() { > >>> return getFilter().getPage(); > >>> } > >>> > >>> public String getSearchId() { > >>> return ""; > >>> } > >>> public String getSortCriterion() { > >>> return getFilter().getSortField(); > >>> } > >>> public SortOrderEnum getSortDirection() { > >>> SortOrder so = getFilter().getSortOrder(); > >>> if(so == SortOrder.ASC){ > >>> return SortOrderEnum.ASCENDING; > >>> } > >>> else{ > >>> return SortOrderEnum.DESCENDING; > >>> } > >>> } > >>> }; > >>> } > >>> > >>> > >>> > >>> > >>> > >>> public String execute(){ > >>> return SUCCESS; > >>> } > >>> > >>> > >>> > >>> > >>> public SituacaoMaterialServico getFilterSituacao() { > >>> return filterSituacao; > >>> } > >>> > >>> public void setFilterSituacao(SituacaoMaterialServico > filterSituacao) { > >>> this.filterSituacao = filterSituacao; > >>> } > >>> > >>> > >>> > >>> > >>> @Override @SuppressWarnings("unchecked") > >>> public Map getSituacoes() { > >>> Map situacoes = super.getSituacoes(); > >>> situacoes.put("", "Todos"); > >>> return situacoes; > >>> } > >>> > >>> > >>> } > >>> > >>> > >>> > >>> my struts.xml : > >>> > >>> <?xml version="1.0" encoding="UTF-8"?> > >>> <!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="spring" /> > >>> <package name="sicat2-default" extends="struts-default" > >>> abstract="true"> > >>> <interceptors> > >>> <interceptor name="annotationRoles" > >>> class="br.com.cesan.sicat2.interceptor.AnnotationRolesInterceptor" /> > >>> <interceptor-stack name="defaultStack"> > >>> <interceptor-ref name="annotationRoles" /> > >>> <interceptor-ref name="exception" /> > >>> <interceptor-ref name="alias" /> > >>> <interceptor-ref name="servletConfig" /> > >>> <interceptor-ref name="timer" /> > >>> <interceptor-ref name="prepare" /> > >>> <interceptor-ref name="i18n" /> > >>> <interceptor-ref name="chain" /> > >>> <interceptor-ref name="modelDriven" /> > >>> <interceptor-ref name="debugging" /> > >>> <interceptor-ref name="fileUpload" /> > >>> <interceptor-ref name="checkbox" /> > >>> <interceptor-ref name="staticParams" /> > >>> <interceptor-ref name="params"> > >>> <param name="excludeParams">dojo\..*</param> > >>> </interceptor-ref> > >>> <interceptor-ref name="conversionError" /> > >>> </interceptor-stack> > >>> </interceptors> > >>> </package> > >>> > >>> <package name="sicat2-ui" extends="sicat2-default" > > >>> <interceptors> > >>> <interceptor name="ui" > >>> class="br.com.cesan.sicat2.struts2.UIActionInterceptor" /> > >>> <interceptor-stack name="uiStack"> > >>> <interceptor-ref name="defaultStack" /> > >>> <interceptor-ref name="store" /> > >>> <interceptor-ref name="ui" /> > >>> <interceptor-ref name="validation"> > >>> <param > >>> name="excludeMethods">setup,input,back,cancel,browse,execute</param> > >>> </interceptor-ref> > >>> <interceptor-ref name="workflow"> > >>> <param > >>> name="excludeMethods">setup,input,back,cancel,browse,execute</param> > >>> </interceptor-ref> > >>> </interceptor-stack> > >>> </interceptors> > >>> <default-interceptor-ref name="uiStack" /> > >>> </package> > >>> <package name="servico" extends="sicat2-ui" namespace="/servico"> > >>> <action name="MaterialServicoList!*" method="{1}" > >>> class="br.com.cesan.sicat2.module.servico.MaterialServicoList"> > >>> > >>> <result>/WEB-INF/jsp/module/servico/MaterialServicoList.jsp</result> > >>> </action> > >>> <action name="MaterialServicoAdd!*" method="{1}" > >>> class="br.com.cesan.sicat2.module.servico.MaterialServicoAdd"> > >>> <param name=""></param> > >>> <result > >>> > name="input">/WEB-INF/jsp/module/servico/MaterialServicoAdd.jsp</result> > >>> <result name="success" type="redirectAction"> > >>> <param name="actionName">MaterialServicoList</param> > >>> <param name="operationMode">RETRIEVE</param> > >>> </result> > >>> </action> > >>> <action name="MaterialServicoEdit!*" method="{1}" > >>> class="br.com.cesan.sicat2.module.servico.MaterialServicoEdit"> > >>> <result > >>> > name="input">/WEB-INF/jsp/module/servico/MaterialServicoEdit.jsp</result> > >>> <result name="success" > >>> type="chain">MaterialServicoList</result> > >>> </action> > >>> </package> > >>> </struts> > >>> > >>> > >>> what else i need to show to help? > >>> > >>> > >>> On Thu, Dec 4, 2008 at 1:57 PM, Dave Newton <[EMAIL PROTECTED]> > wrote: > >>> > >>>> --- On Thu, 12/4/08, Eugenio Perrotta Neto wrote: > >>>> > i know that. but it just happen when i use tiles or a Tag > >>>> > file. if a use a plain JSP it does not happen > >>>> > > >>>> You'll probably have to supply some example > >>>> configuraton/pages/definitions/etc. that duplicate the problem for us > to > >>>> help; I'm using Tiles in an S2 app and don't see this behavior (as far > as I > >>>> know, anyway). > >>>> > >>>> Dave > >>>> > >>>> > >>>> --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>> > >>> > >>> -- > >>> Eugenio Perrotta Neto > >>> Tel: (27) 9913-8080 > >>> > >> > >> > >> > >> -- > >> Eugenio Perrotta Neto > >> Tel: (27) 9913-8080 > >> > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > -- Eugenio Perrotta Neto Tel: (27) 9913-8080