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

Reply via email to