5 Replies Latest reply on May 22, 2008 11:01 PM by Jay Balunas

    Seam 2.0.2 CR1 Performance problem

    Krunoslav Samardzic Newbie

      When I change to Seam 2.0.2 CR1 from 2.0.0 GA things start to work very slow, for example same page on 2.0.2 CR1 takes about 3.7 sec, while on 2.0.0 GA only 0.7 sec
      here is stackTrace:
      2.0.0 GA


      10:12:23,936 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: RESTORE_VIEW 1
      10:12:23,937 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :50 - >>> Begin JSF request
      10:12:23,937 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :565 - beginning transaction prior to phase: RESTORE_VIEW 1
      10:12:23,940 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: RESTORE_VIEW 1
      10:12:23,941 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.core.Manager :491 - Restoring conversation with id: 3
      10:12:23,941 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: APPLY_REQUEST_VALUES 2
      10:12:23,966 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: APPLY_REQUEST_VALUES 2
      10:12:23,966 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: PROCESS_VALIDATIONS 3
      10:12:23,988 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: PROCESS_VALIDATIONS 3
      10:12:23,989 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: UPDATE_MODEL_VALUES 4
      10:12:24,014 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: UPDATE_MODEL_VALUES 4
      10:12:24,014 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: INVOKE_APPLICATION 5
      10:12:24,015 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :144 - CISTIM LEVELE PORUKA
      10:12:24,018 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :128 - info: false
      10:12:24,019 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :129 - warn: false
      10:12:24,020 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :130 - error: false
      10:12:24,021 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :131 - fatal: false
      10:12:24,023 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :162 - ZAHTJEV ZA TRAZI TraziVrstaObradeBean
      10:12:24,023 [http-127.0.0.1-8080-1] DEBUG orka.core.util.ParamSelect :40 - Ime parametra: korisnik   vrijednost orka.core.maticni.korisnik.Korisnik@60d0bea
      10:12:24,024 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :191 - primjeniUvjetTrazenje 
      10:12:24,025 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :95 - getUvjet(): null
      10:12:24,026 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :100 - setUvjet()null
      10:12:24,026 [http-127.0.0.1-8080-1] DEBUG orka.core.util.ParamSelect :40 - Ime parametra: akti   vrijednost true
      10:12:24,027 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :364 - IZBROJI REDOVE SELECT: SELECT DISTINCT count(ent.id) FROM VrstaObrade ent WHERE ent.korisnik=:korisnik  AND ent.aktivan=:akti 
      10:12:24,029 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :172 - BROJ PODATAKA 2
      10:12:24,030 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :174 - SELECT :  Select ent.id, ent.aktivan, ent.sifra, ent.opis from VrstaObrade ent WHERE ent.korisnik=:korisnik  AND ent.aktivan=:akti  order by   ent.sifra asc 
      10:12:24,031 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :255 - BROJ POKAZATI 10
      10:12:24,032 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :256 - BROJ COUNT 2
      10:12:24,032 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :268 - BR STARN 1
      10:12:24,033 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :273 - PAGES 1
      10:12:24,034 [http-127.0.0.1-8080-1] DEBUG orka.core.FinderBean :299 - FETCH DATA
      10:12:24,037 [http-127.0.0.1-8080-1] DEBUG orka.core.view.Fokus :30 - Settiram fokus: forma:selectAktivan
      10:12:24,038 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: INVOKE_APPLICATION 5
      10:12:24,038 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :581 - committing transaction after phase: INVOKE_APPLICATION 5
      10:12:24,039 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.core.Manager :327 - Storing conversation state: 3
      10:12:24,040 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :106 - After render response, destroying contexts
      10:12:24,041 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :125 - <<< End JSF request
      10:12:24,046 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: RESTORE_VIEW 1
      10:12:24,047 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :50 - >>> Begin JSF request
      10:12:24,047 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :565 - beginning transaction prior to phase: RESTORE_VIEW 1
      10:12:24,049 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: RESTORE_VIEW 1
      10:12:24,050 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.core.Manager :491 - Restoring conversation with id: 3
      10:12:24,051 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :581 - committing transaction after phase: RESTORE_VIEW 1
      10:12:24,054 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :104 - before phase: RENDER_RESPONSE 6
      10:12:24,054 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :565 - beginning transaction prior to phase: RENDER_RESPONSE 6
      10:12:24,074 [http-127.0.0.1-8080-1] DEBUG orka.core.postavke.PostavkeAplikacija :78 - OPER orka.core.maticni.operater.Operater@59306da
      10:12:24,152 [http-127.0.0.1-8080-1] DEBUG orka.core.view.Fokus :35 - Postavljam fokus: forma:selectAktivan
      10:12:24,161 [http-127.0.0.1-8080-1] TRACE org.jboss.seam.jsf.SeamPhaseListener :173 - after phase: RENDER_RESPONSE 6
      10:12:24,162 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.jsf.SeamPhaseListener :581 - committing transaction after phase: RENDER_RESPONSE 6
      10:12:24,167 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.core.Manager :327 - Storing conversation state: 3
      10:12:24,167 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :106 - After render response, destroying contexts
      10:12:24,169 [http-127.0.0.1-8080-1] DEBUG org.jboss.seam.contexts.FacesLifecycle :125 - <<< End JSF request
      
      


      and this is the same thing on 2.0.2 CR1:



      10:15:50,697 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: RESTORE_VIEW 1
      10:15:50,698 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :50 - >>> Begin JSF request for /kadrovska/place/sifarnici/vrstaObrade/PregledVrstaObrade.orka
      10:15:50,698 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :586 - beginning transaction prior to phase: RESTORE_VIEW 1
      10:15:50,703 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: RESTORE_VIEW 1
      10:15:50,704 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.core.Manager :497 - Restoring conversation with id: 3
      10:15:50,705 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: APPLY_REQUEST_VALUES 2
      10:15:51,267 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: APPLY_REQUEST_VALUES 2
      10:15:51,267 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: PROCESS_VALIDATIONS 3
      10:15:51,759 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: PROCESS_VALIDATIONS 3
      10:15:51,760 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: UPDATE_MODEL_VALUES 4
      10:15:52,351 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: UPDATE_MODEL_VALUES 4
      10:15:52,352 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: INVOKE_APPLICATION 5
      10:15:52,353 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :144 - CISTIM LEVELE PORUKA
      10:15:52,374 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :128 - info: false
      10:15:52,382 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :129 - warn: false
      10:15:52,388 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :130 - error: false
      10:15:52,395 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :131 - fatal: false
      10:15:52,407 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :162 - ZAHTJEV ZA TRAZI TraziVrstaObradeBean
      10:15:52,408 [http-127.0.0.1-8080-2] DEBUG orka.core.util.ParamSelect :40 - Ime parametra: korisnik   vrijednost orka.core.maticni.korisnik.Korisnik@55855f9
      10:15:52,409 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :191 - primjeniUvjetTrazenje 
      10:15:52,410 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :95 - getUvjet(): null
      10:15:52,412 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :100 - setUvjet()null
      10:15:52,412 [http-127.0.0.1-8080-2] DEBUG orka.core.util.ParamSelect :40 - Ime parametra: akti   vrijednost true
      10:15:52,414 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :364 - IZBROJI REDOVE SELECT: SELECT DISTINCT count(ent.id) FROM VrstaObrade ent WHERE ent.korisnik=:korisnik  AND ent.aktivan=:akti 
      10:15:52,417 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :172 - BROJ PODATAKA 2
      10:15:52,417 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :174 - SELECT :  Select ent.id, ent.aktivan, ent.sifra, ent.opis from VrstaObrade ent WHERE ent.korisnik=:korisnik  AND ent.aktivan=:akti  order by   ent.sifra asc 
      10:15:52,418 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :255 - BROJ POKAZATI 10
      10:15:52,419 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :256 - BROJ COUNT 2
      10:15:52,419 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :268 - BR STARN 1
      10:15:52,420 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :273 - PAGES 1
      10:15:52,421 [http-127.0.0.1-8080-2] DEBUG orka.core.FinderBean :299 - FETCH DATA
      10:15:52,448 [http-127.0.0.1-8080-2] DEBUG orka.core.view.Fokus :30 - Settiram fokus: forma:selectAktivan
      10:15:52,453 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: INVOKE_APPLICATION 5
      10:15:52,453 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :602 - committing transaction after phase: INVOKE_APPLICATION 5
      10:15:52,459 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.core.Manager :333 - Storing conversation state: 3
      10:15:52,460 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :106 - After render response, destroying contexts
      10:15:52,479 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :125 - <<< End JSF request for /kadrovska/place/sifarnici/vrstaObrade/PregledVrstaObrade.orka
      10:15:52,494 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: RESTORE_VIEW 1
      10:15:52,495 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :50 - >>> Begin JSF request for /kadrovska/place/sifarnici/vrstaObrade/PregledVrstaObrade.orka
      10:15:52,496 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :586 - beginning transaction prior to phase: RESTORE_VIEW 1
      10:15:52,497 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: RESTORE_VIEW 1
      10:15:52,497 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.core.Manager :497 - Restoring conversation with id: 3
      10:15:52,498 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :602 - committing transaction after phase: RESTORE_VIEW 1
      10:15:52,500 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :102 - before phase: RENDER_RESPONSE 6
      10:15:52,500 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :586 - beginning transaction prior to phase: RENDER_RESPONSE 6
      10:15:52,519 [http-127.0.0.1-8080-2] DEBUG orka.core.postavke.PostavkeAplikacija :78 - OPER orka.core.maticni.operater.Operater@5bc34e6
      10:15:53,950 [http-127.0.0.1-8080-2] DEBUG orka.core.view.Fokus :35 - Postavljam fokus: forma:selectAktivan
      10:15:53,985 [http-127.0.0.1-8080-2] TRACE org.jboss.seam.jsf.SeamPhaseListener :181 - after phase: RENDER_RESPONSE 6
      10:15:53,985 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.jsf.SeamPhaseListener :602 - committing transaction after phase: RENDER_RESPONSE 6
      10:15:53,986 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.core.Manager :333 - Storing conversation state: 3
      10:15:53,987 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :106 - After render response, destroying contexts
      10:15:53,999 [http-127.0.0.1-8080-2] DEBUG org.jboss.seam.contexts.FacesLifecycle :125 - <<< End JSF request for /kadrovska/place/sifarnici/vrstaObrade/PregledVrstaObrade.orka
      
      


      just look at the times logged by log4j


      this is the jsp page :


      <%@ page contentType="text/html; charset=UTF-8"%>
      <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
      <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
      <%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s"%>
      <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
      <%@ taglib uri="http://richfaces.ajax4jsf.org/rich" prefix="r"%>
      <%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a"%>
      <f:view>
           <html>
           <%@ include file="/core/predlozak/Glava.jsp"%>
           <body
                onload="setTimeout(postaviFokusNakonZatvaranjaModalnogPanela, 100);">
      
           <h:form id="forma">
                <%@ include file="/core/predlozak/Navigator.jsp"%>
      
                <!-- glavni panel -->
                <t:panelGrid id="glavniPanel" columns="2" width="100%"
                     columnClasses="panelAkcijaPoruke,panelPodaci">
      
                     <!-- Panel za akciju i poruke -->
                     <t:panelGrid columns="1" styleClass="panelKolona">
      
                          <!-- akcija -->
                          <r:panelBar id="panelUvijeti" styleClass="panelAkcija">
                               <r:panelBarItem id="panelStavkaPretrazivanje"
                                    label="#{messages['zajednicke.pretrazivanje']} #{!traziVrstaObrade.trazilica ? messages['zajednicke.unosNovog'] : ''}">
      
                                    <%@ include file="/core/predlozak/akcija/UnosNovog.jsp"%>
      
                                    <t:panelGrid id="panelUvjetiTrazi" columns="2">
                                         <t:outputText id="outTraziAktivan"
                                              value="#{messages['zajednicke.aktivan']}" />
                                         <t:selectOneMenu id="selectAktivan"
                                              value="#{traziVrstaObrade.aktivan}"
                                              onkeypress="return klikni('forma:trazi','forma:traziAlbum',event)">
                                              <%@ include file="/core/predlozak/AktivanSelect.jsp"%>
                                         </t:selectOneMenu>
      
                                         <t:outputText value="#{messages['zajednicke.sifra']}" />
                                         <t:inputText value="#{traziVrstaObrade.sifra}"
                                              onkeypress="return klikni('forma:trazi','nista',event)" />
      
                                         <t:outputText value="#{messages['zajednicke.opis']}" />
                                         <t:inputText maxlength="20" id="inNazivDoprinos"
                                              value="#{traziVrstaObrade.opis}"
                                              onkeypress="return klikni('forma:trazi','nista',event)" />
      
      
                                         <t:commandButton image="/slike/ikone/print.png"
                                              title="#{messages['zajednicke.print']}"
                                              action="#{printer.print('PregledVrstaObrade', 'pregledVrstaObrade', operKonv, traziVrstaObrade.rezultatiZaPrint,null)}"
                                              rendered="#{!traziVrstaObrade.trazilica && !empty traziVrstaObrade.rezultati}" />
                                         <%@ include file="/core/predlozak/akcija/TraziGumb.jsp"%>
      
                                    </t:panelGrid>
                               </r:panelBarItem>
                          </r:panelBar>
      
                          <!-- poruke panel-->
                          <%@include file="/core/predlozak/Poruke.jsp"%>
                          <!-- zavrsile poruke panel-->
      
                     </t:panelGrid>
                     <!-- zavrsio Panel za akciju i poruke -->
      
                     <!-- panel za podatke -->
                     <t:panelGrid columns="1" styleClass="panelKolona">
                          <r:panel id="podaci" bodyClass="panelTijeloPodaci">
      
      
                               <r:dataTable id="tablica" width="100%"
                                    rows="#{operKonv.postavkeOperatera.brojRedova}"
                                    onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
                                    onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
                                    cellpadding="0" cellspacing="0" var="v" rowKeyVar="rb"
                                    value="#{traziVrstaObrade.rezultati}">
      
      
                                    <f:facet name="header">
                                         <r:columnGroup id="grupaKolonaZaglavlje">
                                              <r:column rendered="#{!traziVrstaObrade.traziJedan}">
                                                   <t:outputText value="#{messages['zajednicke.oznacen']}" />
                                              </r:column>
                                              <%@include file="/core/predlozak/kolone/zaglavlje/RedniBroj.jsp"%>
      
                                              <%@include file="/core/predlozak/kolone/zaglavlje/Sifra.jsp"%>
      
                                              <%@include file="/core/predlozak/kolone/zaglavlje/Opis.jsp"%>
      
                                              <%@include
                                                   file="/core/predlozak/kolone/zaglavlje/OperaterPromjene.jsp"%>
                                         </r:columnGroup>
                                    </f:facet>
      
                                    <r:column rendered="#{!traziVrstaObrade.traziJedan}"
                                         styleClass="kolonaCentrirano">
                                         <t:selectBooleanCheckbox id="oznacen" value="#{v.oznacen}" />
                                    </r:column>
      
                                    <r:column styleClass="kolonaCentrirano">
                                         <t:outputText value="#{v.rb}." />
                                    </r:column>
      
                                    <r:column rendered="#{traziVrstaObrade.traziJedan}"
                                         styleClass="kolonaCentrirano">
                                         <t:commandLink
                                              action="#{teleport.inConversation(obradaVrstaObrade.entIzBaze(v.id))}"
                                              styleClass="pregledLink"
                                              title="#{messages['zajednicke.promjeni']}" value="#{v.sifra}" />
                                    </r:column>
      
                                    <r:column rendered="#{!traziVrstaObrade.traziJedan}"
                                         styleClass="kolonaCentrirano">
                                         <t:outputText value="#{v.sifra}" />
                                    </r:column>
      
                                    <r:column styleClass="kolonaLijevo">
                                         <t:outputText value="#{v.opis}" />
                                    </r:column>
      
                                    <%@include
                                         file="/core/predlozak/kolone/tijelo/OperaterPromjene.jsp"%>
      
                               </r:dataTable>
      
                               <t:panelGrid columns="2">
                                    <t:panelGrid columns="3"
                                         rendered="#{!traziVrstaObrade.traziJedan}">
                                         <t:commandButton image="/slike/ikone/oznacen.png"
                                              title="#{messages['zajednicke.oznaciSve']}"
                                              style="cursor:pointer"
                                              onclick="return traziOznaciSve('oznacenKriterij',true);" />
      
                                         <t:commandButton image="/slike/ikone/odznacen.png"
                                              title="#{messages['zajednicke.odznaciSve']}"
                                              style="cursor:pointer"
                                              onclick="return traziOznaciSve('oznacenKriterij',false);" />
      
                                         <t:commandButton image="/slike/ikone/zamjeni.png"
                                              title="#{messages['zajednicke.zamjeni']}" style="cursor:pointer"
                                              onclick="return traziZamjeniOznake('oznacenKriterij');" />
                                    </t:panelGrid>
      
                                    <t:panelGrid columns="5" id="scroll"
                                         rendered="#{traziVrstaObrade.pages.size>1}">
                                         <a:commandLink immediate="true" eventsQueue="red"
                                              styleClass="unosNovogLink" reRender="tablica,scroll"
                                              action="#{traziVrstaObrade.firstPage}"
                                              value="#{messages['prvi']}" />
                                         <a:commandLink value="#{messages['prethodni']}" immediate="true"
                                              styleClass="unosNovogLink"
                                              action="#{traziVrstaObrade.previousPage}"
                                              reRender="tablica,scroll" />
      
                                         <t:outputText
                                              value="#{traziVrstaObrade.currentPage}/#{traziVrstaObrade.pages.size}" />
      
                                         <a:commandLink eventsQueue="red" immediate="true"
                                              value="#{messages['sljedeci']}" styleClass="unosNovogLink"
                                              action="#{traziVrstaObrade.nextPage}" reRender="tablica,scroll" />
                                         <a:commandLink eventsQueue="red" reRender="tablica,scroll"
                                              styleClass="unosNovogLink" immediate="true"
                                              action="#{traziVrstaObrade.lastPage}"
                                              value="#{messages['zadnji']}" />
                                    </t:panelGrid>
                               </t:panelGrid>
      
                          </r:panel>
                     </t:panelGrid>
                     <!-- zavrsio panel za podatke -->
      
                </t:panelGrid>
                <!-- zavrsio glavni panel -->
           </h:form>
           <%@ include file="/core/predlozak/Podnozje.jsp"%>
           </body>
           </html>
      </f:view>