Sure, thank you.

I should point out I'm using facelets. Furthermore, some variables are in
portuguese, sorry for that. If you find there is something I am doing in a
non-standard fashion, please feel free to advise me, since I've only just
scraped the surface of JSF and Trinidad.

Here's the code then:


------ PAGE CODE: fichaProdConsulta.xhtml ------

<?xml version='1.0' encoding='windows-1252'?>
<trh:html xmlns="http://www.w3.org/1999/xhtml";
        xmlns:f="http://java.sun.com/jsf/core";
        xmlns:h="http://java.sun.com/jsf/html";
        xmlns:tr="http://myfaces.apache.org/trinidad";
        xmlns:trh="http://myfaces.apache.org/trinidad/html";
        xmlns:ui="http://java.sun.com/jsf/facelets";
        xmlns:c="http://java.sun.com/jstl/core";
        xmlns:t="http://myfaces.apache.org/tomahawk"; id="htmlid">

<trh:head id="headid"/>
<trh:body id="bodyid">
        <f:view>
                <ui:composition template="/templates/mainTemplate.xhtml">
                        <ui:define name="PageContent">


                                <h3 style="stph3"><tr:outputText value="Ficha 
de Produto" /></h3>
                                <h4 style="stph4"><tr:outputText value="[ 
Importação ]"
styleClass="stph4"/></h4>

                                <div align="center">
                                        <tr:panelGroupLayout 
partialTriggers="correntePnifa"
layout="vertical" styleClass="stptable" inlineStyle="width:300px">
                                                <tr:panelHorizontalLayout 
styleClass="invisibleTable"
inlineStyle="text-align: center;" partialTriggers="correntePnifa">
                                                        <tr:selectOneRadio 
id="correntePnifa"
                                                                
autoSubmit="true" binding="#{fichaBean.tipoPesquisa}"
                                                                
styleClass="stpinputText" layout="horizontal"
value="#{fichaBean.tipoPesquisaSeleccionada}"
                                                                
valueChangeListener="#{fichaBean.updatePnifaVisibility}">
                                                                <f:selectItem 
itemValue="CORRENTE" itemLabel="Corrente" />
                                                                <f:selectItem 
itemValue="PNIFA" itemLabel="PNIFA" />
                                                        </tr:selectOneRadio>
                                                </tr:panelHorizontalLayout>
                                                <tr:panelHorizontalLayout 
inlineStyle="width: 200px;">
                                                        <hr style="height:1px;" 
/>
                                                </tr:panelHorizontalLayout>
                                                <tr:panelHorizontalLayout>
                                                        <tr:outputText 
value="Código Pautal" styleClass="titleCell" />
                                                        <tr:outputText 
value="Ano" styleClass="titleCell"
rendered="#{fichaBean.pnifaVisible}" />
                                                        <tr:inputText 
styleClass="fCodPautal" maximumLength="22"
id="codPautal" binding="#{fichaBean.codPautal}"
value="#{fichaBean.codigoPautal}" />
                                                        <tr:selectOneChoice 
id="selectAnoPnifa"
binding="#{fichaBean.anoPnifa}"
value="#{fichaBean.anoPnifaSeleccionado}" styleClass="stpselect"
rendered="#{fichaBean.pnifaVisible}" valuePassThru="true">
                                                                <f:selectItems 
id="pnifaItems" value="#{fichaBean.anoPnifaItems}" />
                                                        </tr:selectOneChoice>
                                                </tr:panelHorizontalLayout>
                                                <tr:spacer height="15px"/>
                                        </tr:panelGroupLayout>
                                        <tr:commandButton text="Consultar" 
styleClass="fButton"
action="consultarFichaImport" />
                                        <tr:commandButton text="Ficar" 
styleClass="fButton"
action="#{fichaBean.valorAlterado}"/>

                                </div>
                        </ui:define>
                </ui:composition>
        </f:view>
</trh:body>
</trh:html>



------ TEMPLATE CODE: mainTemplate.xhtml ------

<?xml version='1.0' encoding='windows-1252'?>
<trh:html xmlns="http://www.w3.org/1999/xhtml";
        xmlns:trh="http://myfaces.apache.org/trinidad/html";
        xmlns:tr="http://myfaces.apache.org/trinidad";
        xmlns:f="http://java.sun.com/jsf/core";
        xmlns:h="http://java.sun.com/jsf/html";
        xmlns:ui="http://java.sun.com/jsf/facelets"; id="mainTemplatehtml1">

<trh:head id="mainTemplatehead1">
        <link href="/stp/resources/css/stp.css" rel="stylesheet" 
media="screen"/>
        <link href="/stp/resources/css/calendar.css" rel="stylesheet"
media="screen"/>
</trh:head>

<trh:body id="mainTemplatebody1" styleClass="stpbody">
        <f:view>
                <f:loadBundle
                        basename="pt.opensoft.messageResource.MessageResources" 
var="msg" />
                <tr:form id="mainTemplateform1">
                        <tr:panelPage id="mainTemplatepanelPage1">
                                <f:facet name="messages">
                                        <tr:messages id="mainMessagesID" 
text="Mensagens" rendered="true">

                                        </tr:messages>
                                </f:facet>
                                <f:facet name="menuGlobal">
                                        <tr:navigationPane 
id="mainTemplatemenuButtons1">
                                                <tr:panelHorizontalLayout>
                                                        <tr:commandLink 
text="#{msg.label_logout}"
                                                                
id="mainTemplatecommandLink1" action="#{logoutBean.actionSair}"
                                                                
immediate="true" />
                                                </tr:panelHorizontalLayout>
                                        </tr:navigationPane>
                                </f:facet>

                                <f:facet name="branding">
                                        <tr:image source="#{msg.logo_source}"
                                                id="mainTemplateobjectImage1" />
                                </f:facet>


                                <f:facet name="appCopyright">
                                        <tr:outputFormatted 
value="#{msg.label_copyright}"
                                                
id="mainTemplateoutputFormatted1" />
                                </f:facet>


                                <ui:insert name="menuOpcoes">
                                        <ui:include src="../pages/menu.xhtml" />
                                </ui:insert>


                                <ui:insert name="PageContent" />

                        </tr:panelPage>
                </tr:form>
        </f:view>
</trh:body>

</trh:html>



------ RENDERED HTML (first access )-------

<?xml version='1.0' encoding='windows-1252'?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/loose.dtd";><!--Start:
org.apache.myfaces.trinidad.Html["mainTemplatehtml1"]--><html dir="ltr"
lang="en"><!--Start:
org.apache.myfaces.trinidad.Head["mainTemplatehead1"]-->
  <head id="mainTemplatehead1">
    <meta name="generator" content="Apache Trinidad">

    <link rel="stylesheet" charset="UTF-8" type="text/css"
href="/stp/adf/styles/cache/simple-desktop-1_0_0-incubating-en-gecko.css"><script>var
_AdfWindowOpenError='A popup window blocker has been detected in your
browser. Popup blockers interfere with the operation of this
application. Please disable your popup blocker or allow popups from
this site.';</script><script
src="/stp/adf/jsLibs/Common11-m7.js"></script><script>_defaultTZ()</script>

    <link href="/stp/resources/css/stp.css" rel="stylesheet" media="screen">


    <link href="/stp/resources/css/calendar.css" rel="stylesheet"
media="screen">
  </head>

  <!--Start: org.apache.myfaces.trinidad.Body["mainTemplatebody1"]-->
  <body id="mainTemplatebody1" onload="_checkLoad()"
onunload="_checkUnload(event)" class="stpbody">
    <iframe id="_pprIFrame" name="_pprIFrame" frameborder="0" longdesc="#"
title="" src="about:blank"
style="position:absolute;top:-100px;visibility:hidden" width="0"
height="0"></iframe>
    <!--Start:
org.apache.myfaces.trinidad.Body["mainTemplatebody1"]--><div
id="_pprBlockingDiv" onclick="return _pprConsumeClick(event);"
style="position:absolute;left:0;top:0;width:0;height:0;cursor:wait;"
onkeydown="return false;" onkeyup="return false;" onmousedown="return
false;" onmouseup="return false;" onkeypress="return
false;"></div><script>var _cachedLibs;</script><a
name="top"></a><!--Start:
org.apache.myfaces.trinidad.Form["mainTemplateform1"]-->
    <form id="mainTemplateform1" name="mainTemplateform1"
style="margin:0px" method="POST" onkeypress="return
_submitOnEnter(event,'mainTemplateform1');"
action="/stp/pages/ficha/fichaProdConsulta.jsf?_afPfm=-20ad0192"><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><span
id="mainTemplatepanelPage1"><table cellpadding="0" cellspacing="0"
border="0" width="100%"><tr>
              <td nowrap valign="top"><table cellpadding="0"
cellspacing="2" border="0" width="1%"><tr>
                    <td nowrap><!--Start:
org.apache.myfaces.trinidad.Object["mainTemplateobjectImage1"]--><img
id="mainTemplateobjectImage1"
name="mainTemplateobjectImage1"
src="/stp/resources/img/opensoft_logo.jpg"></td>
                  </tr><tr>

                    <td valign="top" nowrap></td>
                  </tr></table></td>
            </tr><tr>
              <td width="100%"><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><table
class="xc5" cellpadding="0" cellspacing="0" border="0"
width="100%"><tr>
                      <td height="1"></td>
                    </tr></table></td>
            </tr></table><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><!--Start:
org.apache.myfaces.trinidad.Messages["mainMessagesID"]--><span
id="mainMessagesID"></span><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><table
width="100%" border="0" cellspacing="0" cellpadding="0"><tr
valign="top">
                <td width="100%"></td>
              </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><?xml
version='1.0' encoding='windows-1252'?>

<div></div><!--Start: org.apache.myfaces.trinidad.Panel["j_id4"]--><table
cellpadding="0" cellspacing="0" border="0" id="j_id4"><tr>
                  <td><!--Start:
org.apache.myfaces.trinidad.Command["j_id5"]--><a
id="j_id5" name="j_id5"
onclick="submitForm('mainTemplateform1',1,{source:'j_id5'});return
false;" class="xi" href="#">Ficha Produto
Importa&ccedil;&atilde;o</a></td>
                </tr></table><div></div>



              <h3 style="stph3"><div></div><!--Start:
org.apache.myfaces.trinidad.Output["j_id7"]--><span
id="j_id7">Ficha de Produto</span><div></div></h3>


              <h4 style="stph4"><div></div><!--Start:
org.apache.myfaces.trinidad.Output["j_id9"]--><span
id="j_id9" class="stph4">[ Importa&ccedil;&atilde;o
]</span><div></div></h4>


                                <div align="center"><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id11"]--><div id="j_id11"
class="stptable" style="width:300px"><!--Start:
org.apache.myfaces.trinidad.Panel["j_id12"]--><table cellpadding="0"
cellspacing="0" border="0" id="j_id12" class="invisibleTable"
style="text-align: center;"><tr>
                      <td><!--Start:
org.apache.myfaces.trinidad.SelectOne["correntePnifa"]--><table
id="correntePnifa__xc_" class="stpinputText x1l"
cellpadding="0" cellspacing="0" border="0"><tr>

                            <td class="x14" nowrap></td>

                            <td valign="top" nowrap
class="AFContentCell"><script>var
_pprUpdateMode=false;function
_adfspu(f,v,e,s,o){_pprUpdateMode=true;if(!o)o=new
Object();o.event=(e)?e:'update';if(s)o.source=s;_submitPartialChange(f,v,o);}</script><!--Start:
org.apache.myfaces.trinidad.SelectOne["correntePnifa"]--><span
id="correntePnifa" class="x21">
                                <input type="radio" name="correntePnifa"
id="correntePnifa:_0" value="0"
onclick="_adfspu('mainTemplateform1',1,'correntePnifa','correntePnifa');return
true;"><label
for="correntePnifa:_0">Corrente</label>
                                <input type="radio" name="correntePnifa"
id="correntePnifa:_1" value="1"
onclick="_adfspu('mainTemplateform1',1,'correntePnifa','correntePnifa');return
true;"><label
for="correntePnifa:_1">PNIFA</label></span></td>
                          </tr></table></td>
                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id15"]--><table
cellpadding="0" cellspacing="0" border="0" id="j_id15"
style="width: 200px;"><tr>
                      <td>


                        <hr style="height:1px;">
                      </td>
                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id17"]--><table
cellpadding="0" cellspacing="0" border="0"
id="j_id17"><tr>
                      <td><!--Start:
org.apache.myfaces.trinidad.Output["j_id18"]--><span
id="j_id18" class="titleCell">C&oacute;digo
Pautal</span></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.Output["j_id19"]--><span
id="j_id19" class="titleCell">Ano</span></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.Input["codPautal"]--><table
id="codPautal__xc_" class="fCodPautal x1e"
cellpadding="0" cellspacing="0" border="0"><tr>
                            <td class="xu" nowrap></td>


                            <td valign="top" nowrap
class="AFContentCell"><!--Start:
org.apache.myfaces.trinidad.Input["codPautal"]-->
                              <input id="codPautal" name="codPautal"
class="x1p" size="30" maxlength="22"
type="text">
                            </td>
                          </tr></table></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.SelectOne["selectAnoPnifa"]--><table
id="selectAnoPnifa__xc_" class="stpselect x1j"
cellpadding="0" cellspacing="0" border="0"><tr>
                            <td class="x12" nowrap></td>

                            <td valign="top" nowrap
class="AFContentCell"><script>var
_locale='en';var
_tLocale='en';</script><script
src="/stp/adf/jsLibs/resources/LocaleElements_en11-m7.js"></script><!--Start:
org.apache.myfaces.trinidad.SelectOne["selectAnoPnifa"]-->
                              <select id="selectAnoPnifa"
name="selectAnoPnifa" class="x1z">

                                <option value=""></option>

                                <option value="2006">2006</option>

                                <option value="2005">2005</option>

                                <option value="2004">2004</option>
                              </select>
                            </td>
                          </tr></table></td>

                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Object["j_id20"]--><div
id="j_id20"
style="margin-top:15px"></div></div><div></div><!--Start:
org.apache.myfaces.trinidad.Command["j_id21"]-->
                <button id="j_id21" name="j_id21" type="button"
onclick="submitForm('mainTemplateform1',1,{source:'j_id21'});return
false;" class="fButton
x6l">Consultar</button><div></div><!--Start:
org.apache.myfaces.trinidad.Command["j_id22"]-->
                <button id="j_id22" name="j_id22" type="button"
onclick="submitForm('mainTemplateform1',1,{source:'j_id22'});return
false;" class="fButton x6l">Ficar</button><div></div>

                                </div><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div>
              <hr class="x98"><div class="x9a"></div><div
class="x99"></div><div
class="x9b"></div></div><div></div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div
class="x9c"><div class="x9d"><span class="x5a"><!--Start:
org.apache.myfaces.trinidad.Output["mainTemplateoutputFormatted1"]--><span
id="mainTemplateoutputFormatted1">(@VERSION@)
@VERSION-DATE@</span></span><span class="x5b"></span><span
class="x5c"></span></div></div></span>
      <input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM"
value="mainTemplateform1"><span
id="_mainTemplateform1_Postscript"><input type="hidden"
name="org.apache.myfaces.trinidad.faces.STATE" value="!-20ad0192">
        <input type="hidden" name="source"><script>var
_resetmainTemplateform1Names=["source"];</script><script>var
_mainTemplateform1_Validations=['new
TrIntegerConverter(null,null,0,2147483647,-2147483648)'];function
_mainTemplateform1Validator(f,s){var fl =
_multiValidate(f,s,["selectAnoPnifa",0,,0,[]],0);if(fl.length>0){_validationAlert('Form
validation failures:'+fl);return false;}else{return true;}}var
_mainTemplateform1_Formats=['{0} - {1}'];var
mainTemplateform1_SF={};</script></span><script>_submitFormCheck();</script></form>

  <!-- MYFACES JAVASCRIPT -->

</body>
  <!--Created by Apache Trinidad (Apache Trinidad API -
1.0.0-incubating/Apache Trinidad Impl - 1.0.0-incubating),
Accessibility:disabled, skin:simple.desktop (simple)--></html>




------- RENDERED HTML (postback in said conditions) -------

<?xml version='1.0' encoding='windows-1252'?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/loose.dtd";><!--Start:
org.apache.myfaces.trinidad.Html["mainTemplatehtml1"]--><html dir="ltr"
lang="en"><!--Start:
org.apache.myfaces.trinidad.Head["mainTemplatehead1"]-->
  <head id="mainTemplatehead1">
    <meta name="generator" content="Apache Trinidad">

    <link rel="stylesheet" charset="UTF-8" type="text/css"
href="/stp/adf/styles/cache/simple-desktop-1_0_0-incubating-en-gecko.css"><script>var
_AdfWindowOpenError='A popup window blocker has been detected in your
browser. Popup blockers interfere with the operation of this
application. Please disable your popup blocker or allow popups from
this site.';</script><script
src="/stp/adf/jsLibs/Common11-m7.js"></script><script>_defaultTZ()</script>

    <link href="/stp/resources/css/stp.css" rel="stylesheet" media="screen">


    <link href="/stp/resources/css/calendar.css" rel="stylesheet"
media="screen">


    <link href="/stp/resources/css/stp.css" rel="stylesheet" media="screen">



    <link href="/stp/resources/css/calendar.css" rel="stylesheet"
media="screen">


    <link href="/stp/resources/css/stp.css" rel="stylesheet" media="screen">


    <link href="/stp/resources/css/calendar.css" rel="stylesheet"
media="screen">
  </head>
  <!--Start: org.apache.myfaces.trinidad.Body["mainTemplatebody1"]-->
  <body id="mainTemplatebody1" onload="_checkLoad()"
onunload="_checkUnload(event)" class="stpbody">
    <iframe id="_pprIFrame" name="_pprIFrame" frameborder="0" longdesc="#"
title="" src="about:blank"
style="position:absolute;top:-100px;visibility:hidden" width="0"
height="0"></iframe>
    <!--Start:
org.apache.myfaces.trinidad.Body["mainTemplatebody1"]--><div
id="_pprBlockingDiv" onclick="return _pprConsumeClick(event);"
style="position:absolute;left:0;top:0;width:0;height:0;cursor:wait;"
onkeydown="return false;" onkeyup="return false;" onmousedown="return
false;" onmouseup="return false;" onkeypress="return
false;"></div><script>var _cachedLibs;</script><a
name="top"></a><!--Start:
org.apache.myfaces.trinidad.Form["mainTemplateform1"]-->

    <form id="mainTemplateform1" name="mainTemplateform1"
style="margin:0px" method="POST" onkeypress="return
_submitOnEnter(event,'mainTemplateform1');"
action="/stp/pages/ficha/fichaProdConsulta.jsf?_afPfm=-20ad0190"><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><span
id="mainTemplatepanelPage1"><table cellpadding="0" cellspacing="0"
border="0" width="100%"><tr>
              <td nowrap valign="top"><table cellpadding="0"
cellspacing="2" border="0" width="1%"><tr>
                    <td nowrap><!--Start:
org.apache.myfaces.trinidad.Object["mainTemplateobjectImage1"]--><img
id="mainTemplateobjectImage1"
name="mainTemplateobjectImage1"
src="/stp/resources/img/opensoft_logo.jpg"></td>
                  </tr><tr>
                    <td valign="top" nowrap></td>
                  </tr></table></td>
            </tr><tr>
              <td width="100%"><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><table
class="xc5" cellpadding="0" cellspacing="0" border="0"
width="100%"><tr>
                      <td height="1"></td>

                    </tr></table></td>
            </tr></table><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><!--Start:
org.apache.myfaces.trinidad.Messages["mainMessagesID"]--><span
id="mainMessagesID"></span><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><table
width="100%" border="0" cellspacing="0" cellpadding="0"><tr
valign="top">
                <td width="100%"></td>
              </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><?xml
version='1.0' encoding='windows-1252'?>
<div></div>



              <h3 style="stph3"><div></div></h3>


              <h4 style="stph4"><div></div></h4>


                                <div align="center"><div></div>

                                </div><div></div><?xml version='1.0' 
encoding='windows-1252'?>

<div></div>



              <h3 style="stph3"><div></div></h3>


              <h4 style="stph4"><div></div></h4>


                                <div align="center"><div></div>

                                </div><div></div><?xml version='1.0' 
encoding='windows-1252'?>
<div></div><!--Start: org.apache.myfaces.trinidad.Panel["j_id4"]--><table
cellpadding="0" cellspacing="0" border="0" id="j_id4"><tr>
                  <td><!--Start:
org.apache.myfaces.trinidad.Command["j_id5"]--><a
id="j_id5" name="j_id5"
onclick="submitForm('mainTemplateform1',1,{source:'j_id5'});return
false;" class="xi" href="#">Ficha Produto
Importa&ccedil;&atilde;o</a></td>
                </tr></table><div></div>



              <h3 style="stph3"><div></div><!--Start:
org.apache.myfaces.trinidad.Output["j_id7"]--><span
id="j_id7">Ficha de Produto</span><div></div></h3>



              <h4 style="stph4"><div></div><!--Start:
org.apache.myfaces.trinidad.Output["j_id9"]--><span
id="j_id9" class="stph4">[ Importa&ccedil;&atilde;o
]</span><div></div></h4>


                                <div align="center"><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id11"]--><div id="j_id11"
class="stptable" style="width:300px"><!--Start:
org.apache.myfaces.trinidad.Panel["j_id12"]--><table cellpadding="0"
cellspacing="0" border="0" id="j_id12" class="invisibleTable"
style="text-align: center;"><tr>
                      <td><!--Start:
org.apache.myfaces.trinidad.SelectOne["correntePnifa"]--><table
id="correntePnifa__xc_" class="stpinputText x1l"
cellpadding="0" cellspacing="0" border="0"><tr>
                            <td class="x14" nowrap></td>

                            <td valign="top" nowrap
class="AFContentCell"><script>var
_pprUpdateMode=false;function
_adfspu(f,v,e,s,o){_pprUpdateMode=true;if(!o)o=new
Object();o.event=(e)?e:'update';if(s)o.source=s;_submitPartialChange(f,v,o);}</script><!--Start:
org.apache.myfaces.trinidad.SelectOne["correntePnifa"]--><span
id="correntePnifa" class="x21">
                                <input type="radio" name="correntePnifa"
id="correntePnifa:_0" value="0"
onclick="_adfspu('mainTemplateform1',1,'correntePnifa','correntePnifa');return
true;"><label
for="correntePnifa:_0">Corrente</label>
                                <input type="radio" name="correntePnifa"
id="correntePnifa:_1" value="1" checked
onclick="_adfspu('mainTemplateform1',1,'correntePnifa','correntePnifa');return
true;"><label
for="correntePnifa:_1">PNIFA</label></span></td>

                          </tr></table></td>
                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id15"]--><table
cellpadding="0" cellspacing="0" border="0" id="j_id15"
style="width: 200px;"><tr>
                      <td>

                        <hr style="height:1px;">
                      </td>

                      <td>

                        <hr style="height:1px;">
                      </td>

                      <td>


                        <hr style="height:1px;">
                      </td>
                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["j_id17"]--><table
cellpadding="0" cellspacing="0" border="0"
id="j_id17"><tr>
                      <td><!--Start:
org.apache.myfaces.trinidad.Output["j_id18"]--><span
id="j_id18" class="titleCell">C&oacute;digo
Pautal</span></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.Output["j_id19"]--><span
id="j_id19" class="titleCell">Ano</span></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.Input["codPautal"]--><table
id="codPautal__xc_" class="fCodPautal x1e"
cellpadding="0" cellspacing="0" border="0"><tr>
                            <td class="xu" nowrap></td>


                            <td valign="top" nowrap
class="AFContentCell"><!--Start:
org.apache.myfaces.trinidad.Input["codPautal"]-->
                              <input id="codPautal" name="codPautal"
class="x1p" size="30" maxlength="22"
type="text">
                            </td>
                          </tr></table></td>

                      <td><!--Start:
org.apache.myfaces.trinidad.SelectOne["selectAnoPnifa"]--><table
id="selectAnoPnifa__xc_" class="stpselect x1j"
cellpadding="0" cellspacing="0" border="0"><tr>
                            <td class="x12" nowrap></td>

                            <td valign="top" nowrap
class="AFContentCell"><script>var
_locale='en';var
_tLocale='en';</script><script
src="/stp/adf/jsLibs/resources/LocaleElements_en11-m7.js"></script><!--Start:
org.apache.myfaces.trinidad.SelectOne["selectAnoPnifa"]-->
                              <select id="selectAnoPnifa"
name="selectAnoPnifa" class="x1z">

                                <option value=""></option>

                                <option value="2006">2006</option>

                                <option value="2005">2005</option>

                                <option value="2004">2004</option>
                              </select>
                            </td>
                          </tr></table></td>

                    </tr></table><div></div><!--Start:
org.apache.myfaces.trinidad.Object["j_id20"]--><div
id="j_id20"
style="margin-top:15px"></div></div><div></div><!--Start:
org.apache.myfaces.trinidad.Command["j_id21"]-->
                <button id="j_id21" name="j_id21" type="button"
onclick="submitForm('mainTemplateform1',1,{source:'j_id21'});return
false;" class="fButton
x6l">Consultar</button><div></div><!--Start:
org.apache.myfaces.trinidad.Command["j_id22"]-->
                <button id="j_id22" name="j_id22" type="button"
onclick="submitForm('mainTemplateform1',1,{source:'j_id22'});return
false;" class="fButton x6l">Ficar</button><div></div>

                                </div><div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div>
              <hr class="x98"><div class="x9a"></div><div
class="x99"></div><div
class="x9b"></div></div><div></div></div><!--Start:
org.apache.myfaces.trinidad.Panel["mainTemplatepanelPage1"]--><div
class="x9c"><div class="x9d"><span class="x5a"><!--Start:
org.apache.myfaces.trinidad.Output["mainTemplateoutputFormatted1"]--><span
id="mainTemplateoutputFormatted1">(@VERSION@)
@VERSION-DATE@</span></span><span class="x5b"></span><span
class="x5c"></span></div></div></span>
      <input type="hidden" name="org.apache.myfaces.trinidad.faces.FORM"
value="mainTemplateform1"><span
id="_mainTemplateform1_Postscript"><input type="hidden"
name="org.apache.myfaces.trinidad.faces.STATE" value="!-20ad0190">
        <input type="hidden" name="source"><script>var
_resetmainTemplateform1Names=["source"];</script><script>var
_mainTemplateform1_Validations=['new
TrIntegerConverter(null,null,0,2147483647,-2147483648)'];function
_mainTemplateform1Validator(f,s){var fl =
_multiValidate(f,s,["selectAnoPnifa",0,,0,[]],0);if(fl.length>0){_validationAlert('Form
validation failures:'+fl);return false;}else{return true;}}var
_mainTemplateform1_Formats=['{0} - {1}'];var
mainTemplateform1_SF={};</script></span><script>_submitFormCheck();</script></form>

  <!-- MYFACES JAVASCRIPT -->

</body>
  <!--Created by Apache Trinidad (Apache Trinidad API -
1.0.0-incubating/Apache Trinidad Impl - 1.0.0-incubating),
Accessibility:disabled, skin:simple.desktop (simple)--></html>


> Francisco,
>
> Sure... Can you send the jsf code and the html rendered on the client
> page?
>
> -----Original Message-----
> From: Francisco Passos [mailto:[EMAIL PROTECTED]
> Sent: Monday, April 09, 2007 1:00 PM
> To: adffaces-user@incubator.apache.org
> Subject: RE: Keeping selectOneChoice selection
>
>
> Thank you for your hints.
>
> I will bear this in mind when I come to this situation - which will be
> soon enough.
>
> However, back to this this particular scenario where no table is involved,
> do you know of any way I manage to solve this problem?
>
>
>> Francisco,
>>
>> I have found that there is a fundamental problem with how
>> UINamingContainers are processed when row indexes are inserted into the
>> ids of EditableValueHolders within the container rows.
>>
>> Understanding The Problem:
>> As you may already know, tables have only columns referenced in the page
>> so it can handle an almost infinite number of rows. Well, because you
>> have
>> only specified an id for a component within the table column the
>> component
>> inserts a row index reference in the holders id (via getClientRowKey()
>> in
>> a table) for each row. This ensures that each iteration of that row has
>> a
>> unique id. The problem with this is that in some cases this breaks
>> automatic setting of bean values (if they are value bound to an
>> EditableValueHolder within a row). Another issue is that
>> "selectOneChoice"
>> components in particular do not have a mechanism in place to ensure that
>> a
>> submitted value that gets set on the component is one of the values
>> within
>> the internal "SelectItemList" so virtually any value can get set on it.
>> If
>> the submitted value is not in the list it adds a blank entry in the drop
>> down menu- what? I have also noticed that selectOneChoice component does
>> not handle value conversion like regular input text components do.
>> Semi-primitive values such as Integers, Booleans, etc. are not converted
>> automatically like they are for regular input text components. I had
>> some
>> of the same issues with the "detailStamp" so I created an extended table
>> component that allows only one toggled "detailStamp" at a time and
>> overrides the "getClientRowKey()" excluding row indexes for components
>> within the "detailStamp". This solution works very well, but still does
>> not address EditableValueHolders within the rows themselves. It seems to
>> me that we need to reevaluate the usage of inserting row indexes into
>> ids!
>>
>> Possible Solutions:
>> The first thing I would check is that you have the valuePassThru="true"
>> to
>> ensure that its not trying to use the index as the passed value (not
>> sure
>> why anyone would want to be restricted to just an index). If want to
>> ensure that your value is never set to a value that does not exist in
>> the
>> options you can use a value change listener:
>>
>>
>>      /**
>>       * Verifies that an editable value holder event components value is a
>> valid
>>       * option. If it is not it sets it back to the old value.
>>       *
>>       * @see #getEditableValueHolderValue(EditableValueHolder)
>>       * @param event
>>       */
>>      public final void verifyValueOption(ValueChangeEvent event) {
>>              try {
>>                      if (event.getComponent() instanceof 
>> EditableValueHolder) {
>>                              EditableValueHolder valueHolder = 
>> (EditableValueHolder) event
>>                                              .getComponent();
>>                              if (!isValidSelectOption(event.getComponent(), 
>> event.getNewValue()))
>> {
>>                                      // invalid option- regress to old value
>>                                      
>> valueHolder.setValue(event.getOldValue());
>>                                      
>> valueHolder.setSubmittedValue(event.getOldValue());
>>                              }
>>                      }
>>              } catch (Throwable e) {
>>                      log.warn("Unable to verify select value. " + 
>> e.getMessage()
>>                                      + " cause: " + e.getCause());
>>              }
>>      }
>>
>>      /**
>>       * Determines if the specified value is a valid selection option in the
>>       * specified select component.
>>       *
>>       * @param component
>>       * @param value
>>       * @return is the specified value a valid select option
>>       */
>>      public static final boolean isValidSelectOption(UIComponent component,
>>                      Object value) {
>>              try {
>>                      List<SelectItem> items = 
>> SelectItemSupport.getSelectItems(
>>                                      component, 
>> SelectItemSupport.getConverter(component));
>>                      for (SelectItem item : items) {
>>                              if (item.getValue() != null && 
>> item.getValue().equals(value)) {
>>                                      return true;
>>                              }
>>                      }
>>              } catch (Exception e) {
>>                      _LOG.warning("Unable to determine if the specified 
>> value: " + value
>>                                      + " is valid for the select component: 
>> " + component);
>>              }
>>              return false;
>>      }
>>
>>
>>
>> Probably not the most elegant solution, but nonetheless an effective one
>> is to manage the submitted row index problems yourself. If nothing else
>> this will provide you with a debugging tool to determine if the row
>> index
>> references are preventing your values from getting set:
>>      /**
>>       * <p>
>>       * Gets a parameter value from the request scope by an editale value
>> holder
>>       * components id. This method will set/return the holders submitted
>> value
>>       * from the request.
>>       * </p>
>>       * <p>
>>       * The holders client id is checked against a possible matching id
>> request
>>       * parameter. The client id of the holder and the request parameter
>> matching
>>       * the hodler id may have their own row indexing (such is the case with
>> a
>>       * select menu).
>>       * <ol>
>>       * <li>The client id against the request parameter</li>
>>       * <li>The client id w/o row index against the request parameter</li>
>>       * <li>The client id against the request parameter w/o row index</li>
>>       * </ol>
>>       * </p>
>>       *
>>       * @param context
>>       * @param holder
>>       * @return the parameter value
>>       */
>>      @SuppressWarnings("unchecked")
>>      public static final Object getRequestParameterByHolderId(
>>                      FacesContext context, EditableValueHolder holder) {
>>              if (log.isDebugEnabled())
>>                      log.debug("getRequestParameterForNamingContainer(" + 
>> context + ','
>>                                      + holder + ")");
>>              if (holder != null && holder instanceof UIComponent) {
>>                      String clientId = ((UIComponent) 
>> holder).getClientId(context);
>>                      String clientIdWithOutRowIds = 
>> removeRowIdReferences(clientId);
>>                      String id = ((UIComponent) holder).getId();
>>                      Map<String, Object> map = context.getExternalContext()
>>                                      .getRequestParameterMap();
>>                      if (map != null && map.entrySet() != null) {
>>                              for (Map.Entry<String, Object> entry : 
>> map.entrySet()) {
>>                                      if (entry.getKey().indexOf(id) >= 0) {
>>                                              if 
>> (entry.getKey().equalsIgnoreCase(clientId)
>>                                                              || 
>> entry.getKey().equalsIgnoreCase(
>>                                                                              
>> clientIdWithOutRowIds)
>>                                                              || 
>> removeRowIdReferences(
>>                                                                              
>> entry.getKey()).equalsIgnoreCase(
>>                                                                              
>> clientId)) {
>>                                                      try {
>>                                                              
>> setConvertedAndValidatedValue(context,
>>                                                                              
>>                 holder, entry.getValue());
>>                                                      } catch (Exception e) {
>>                                                              
>> log.error("Unable to capture the converted "
>>                                                                              
>> + "value for component(" + holder
>>                                                                              
>> + ") value: " + entry.getValue(), e);
>>                                                      }
>>                                                      return 
>> holder.getSubmittedValue();
>>                                              }
>>                                      }
>>                              }
>>                      }
>>              }
>>              return null;
>>      }
>>
>>      /**
>>       * Removes any row id references that may exist within the specified
>> client
>>       * id
>>       *
>>       * @param clientId
>>       * @return the client id
>>       */
>>      public static final String removeRowIdReferences(String clientId) {
>>              if (log.isDebugEnabled())
>>                      log.debug("removeRowIdReferences(" + clientId + ')');
>>              if (clientId != null) {
>>                      String[] ids = clientId.split(String
>>                                      
>> .valueOf(NamingContainer.SEPARATOR_CHAR));
>>                      for (String id : ids) {
>>                              try {
>>                                      Integer.parseInt(id);
>>                              } catch (Exception e) {
>>                                      continue;
>>                              }
>>                              clientId = 
>> clientId.replace(NamingContainer.SEPARATOR_CHAR + id
>>                                              + 
>> NamingContainer.SEPARATOR_CHAR, String
>>                                              
>> .valueOf(NamingContainer.SEPARATOR_CHAR));
>>                      }
>>              }
>>              return clientId;
>>      }
>>
>>      /**
>>       * Invokes the internal converter/validators(s) for an editable value
>> holder
>>       * and returns the converted value
>>       *
>>       * @param context
>>       * @param holder
>>       * @param value
>>       * @return the converted value
>>       * @throws ValidatorException
>>       * @throws EvaluationException
>>       * @throws MethodNotFoundException
>>       */
>>      public static final Object setConvertedAndValidatedValue(FacesContext
>> context,
>>                      EditableValueHolder holder, Object value)
>>                      throws ValidatorException, EvaluationException,
>>                      MethodNotFoundException {
>>              if (holder != null) {
>>                      if (holder.getConverter() != null) {
>>                              value = 
>> holder.getConverter().getAsObject(context,
>>                                              (UIComponent) holder,
>>                                              value != null ? 
>> value.toString() : null);
>>                      }
>>                      if (holder instanceof UIComponent) {
>>                              if (holder.getValidators() != null) {
>>                                      for (Validator v : 
>> holder.getValidators()) {
>>                                              v.validate(context, 
>> (UIComponent) holder, value);
>>                                      }
>>                              }
>>                      }
>>                      if (holder.getValidator() != null) {
>>                              holder.getValidator().invoke(context, new 
>> Object[] { value });
>>                      }
>>                      holder.setSubmittedValue(value);
>>                      return value;
>>              }
>>              return null;
>>      }
>>
>> -----Original Message-----
>> From: Francisco Passos [mailto:[EMAIL PROTECTED]
>> Sent: Monday, April 09, 2007 11:17 AM
>> To: William Hoover
>> Subject: RE: Keeping selectOneChoice selection
>>
>>
>> No, it is in a facet for a panelPage.
>>
>> In it, I have a panelGroupLayout, then a panelHorizontalLayout and
>> finally
>> in it the panelPage.
>>
>> If you feel it's best, I can attach the code or paste it in the mail
>> body.
>>
>> Either way, if the selectOneChoice were in a table (something I will
>> surely need), what would the solution be?
>>
>> Thank you,
>>
>> Francisco
>>
>>
>>
>>> Francisco,
>>>
>>> Is your selectOneChoice in a table?
>>>
>>> -----Original Message-----
>>> From: Francisco Passos [mailto:[EMAIL PROTECTED]
>>> Sent: Monday, April 09, 2007 10:55 AM
>>> To: adffaces-user@incubator.apache.org
>>> Subject: Keeping selectOneChoice selection
>>>
>>>
>>> Hello there.
>>>
>>> I'm new to JSF and Trinidad, so please bear with my simplistic doubts.
>>>
>>> I'm struggling to keep a selectOneChoice selection upon a postback
>>> using
>>> a
>>> request-scoped bean.
>>>
>>> At first I couldn't even maintain the values in the list, but I found
>>> that
>>> placing a h:inputHidden on the page and declaring its value to be
>>> #{myBean.valueList}, they could be kept. Furthermore I've tested the
>>> seme
>>> using pageFlow and it worked.
>>>
>>> However, I cannot keep the selected value in the dropdown list, it just
>>> resets.
>>>
>>> What is the correct way to do this simple task without using session
>>> beans?
>>>
>>> Thank you for your time and attention,
>>>
>>> Francisco Passos
>>>
>>>
>>>
>>
>>
>> Francisco Passos
>> Opensoft - Soluções Informáticas, Lda
>> Telemóvel:  +351 91 238 52 76
>> Escritório: +351 21 380 44 10
>> Email:      [EMAIL PROTECTED]
>>
>>
>>
>
>
> Francisco Passos
> Opensoft - Soluções Informáticas, Lda
> Telemóvel:  +351 91 238 52 76
> Escritório: +351 21 380 44 10
> Email:      [EMAIL PROTECTED]
>
>
>


Francisco Passos
Opensoft - Soluções Informáticas, Lda
Telemóvel:  +351 91 238 52 76
Escritório: +351 21 380 44 10
Email:      [EMAIL PROTECTED]

Reply via email to