Actually I just realized our web project depends on the core project so it wouldn't be a trivial as I thought to zip it and send it, but it could still be done if it was super necessary. It might be easier to zip up the key items (jars, config files) and send 'em over.
Jeremy Sager Data Communications Product Manager Chesapeake System Solutions 410.356.6805 x120 [EMAIL PROTECTED] -----Original Message----- From: Adam Winer [mailto:[EMAIL PROTECTED] Sent: Thursday, April 06, 2006 5:03 PM To: [email protected] Subject: Re: Bug in ADF showOne components Jeremy, Could you try a quick experiment? Swap from af:showOneChoice to af:showOneTab and see if it all works? I'm curious if the problems are with the renderer (I'm less than 100% confident in the showOneChoice renderer code) or with the component logic. -- Adam On 4/6/06, Jeremy Sager <[EMAIL PROTECTED]> wrote: > > > > Hi guys - > > > > I'm moving this from the myfaces list to the adf faces list because it's > more appropriate here, and I'm sure Jonas checks both. > > > > It turns out that using the correct html and body tags solved our test case, > but it did not solve my production case. I've done more testing and further > isolated some issues. > > > > Scenario 1: > > > > If I assign an id by hand (i.e. having an attribute id="_123456" or > whatever) to the showOneChoice, it malfunctions in the way I initially > described, with the input automatically reverting to the first item in the > drop down list whenever anything is selected. > > > > Scenario 1b: > > > > If you remove the facet and just have the showOneChoice inside the panel > page, it misbehaves exactly once and then moves on to Scenario 2. > > > > Scenario 2: > > > > If you do not assign the id by hand and it is generated automatically, the > input does NOT revert to the first item in the drop down list automatically, > but it does still have a problem. > > > > The correct CoreShowDetailItem does not display... the final visible output > for the test page I am about to show you is always "Showing One" even when > the input box shows "Item Two". I included a picture here, it may show up > as an attachment. > > > > > > > > Included here is the exact page from beginning to end that renders Scenario > Two. To get Scenario One, just add id= to the showOneChoice. Below that I > will also include the generated source from the page (it's not that big) and > also the facelets debug screen. > > > > My Facelets Page: > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > > > <afh:html xmlns="http://www.w3.org/1999/xhtml" > > xmlns:ui="http://java.sun.com/jsf/facelets" > > xmlns:h="http://java.sun.com/jsf/html" > > xmlns:c="http://java.sun.com/jstl/core" > > xmlns:f="http://java.sun.com/jsf/core" > > xmlns:t="http://myfaces.apache.org/tomahawk" > > xmlns:cssi="http://www.chessys.com" > > xmlns:afh="http://xmlns.oracle.com/adf/faces/html" > > xmlns:af="http://xmlns.oracle.com/adf/faces"> > > <ui:debug> > > <afh:body> > > <af:form> > > <af:panelPage> > > <f:facet name="menu1"> > > <af:showOneChoice position="top"> > > <af:showDetailItem > text="Item One"> > > <af:outputText > value="Showing One"/> > > </af:showDetailItem> > > <af:showDetailItem > text="Item Two"> > > <af:outputText > value="Showing Two"/> > > </af:showDetailItem> > > </af:showOneChoice> > > </f:facet> > > </af:panelPage> > > </af:form> > > </afh:body> > > </ui:debug> > > </afh:html> > > > > > > The results are the same with the ui:debug tag removed. > > > > > > Generated Source: > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" > "http://www.w3.org/TR/html4/loose.dtd"><!-- Start: > oracle.adf.Html["_id1"] --><html dir="ltr" lang="en"><script > language="javascript" type="text/javascript"> > > //<![CDATA[ > > function faceletsDebug(URL) { day = new Date(); id = day.getTime(); > eval("page" + id + " = window.open(URL, '" + id + "', > 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=8 00,height=600,left > = 240,top = 212');"); };var faceletsOrigKeyup = document.onkeyup; > document.onkeyup = function(e) { if (window.event) e = window.event; if > (String.fromCharCode(e.keyCode) == 'D' & e.shiftKey & e.ctrlKey) > faceletsDebug('/TRecsWebClient/pages/trecs.jsf?facelets.ui.DebugOutput=11443 39607314'); > else if (faceletsOrigKeyup) faceletsOrigKeyup(e); }; > > //]]> > > </script> > > <!-- Start: oracle.adf.Body["_id3"] --> > > <body onload="_checkLoad(event)" > onunload="_checkUnload(event)"><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="/TRecsWebClient/adf/jsLibs/Commonea20.js"></script><!-- > Start: oracle.adf.Body["_id3"] --> > > <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: oracle.adf.Body["_id3"] --><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> > > <noscript>This page uses JavaScript and requires a JavaScript enabled > browser.Your browser is not JavaScript enabled.</noscript> > > <!-- Start: oracle.adf.Form["_id4"] --> > > <form id="_id4" name="_id4" style="margin:0px" onkeypress="return > _submitOnEnter(event,'_id4');" method="POST" > action="/TRecsWebClient/pages/trecs.jsf;jsessionid=FF3329E7CD5F9FBA6D10F3687 ECCD300"><!-- > Start: oracle.adf.Panel["_id5"] --><a href="#TheContent" class="x6g">Skip > navigation elements to page contents</a><!-- Start: oracle.adf.Panel["_id5"] > --><table cellpadding="0" cellspacing="0" border="0" width="100%" > summary=""> > > <tr> > > <td align="right" valign="bottom"><script>function > _socGetSelection(elem){ var selectedElem = document.getElementById(elem); > var selectedOptions = selectedElem.options; var numOptions = > selectedOptions.length; for (i = 0; i < numOptions; i++) { var > selectOption = selectedOptions.item(i); var isSelected = > selectOption.selected; if (isSelected) { return selectOption.id; > break; } }}</script><!-- Start: oracle.adf.ShowOne["_id6"] --><table > id="_id6" summary="" border="0" cellspacing="0" cellpadding="0"> > > <tr> > > <td align="center"><table id="_id6_soc_tbl" border="0" > cellspacing="0" cellpadding="0" summary=""> > > <tr> > > <td align="left" nowrap><span class="xa"><label > for="_id6_soc_tbl_chc"></label></span></td> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <td width="12"></td> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <td valign="top" nowrap> > > <select id="_id6_soc_tbl_chc" > name="_id6_soc_tbl_chc" class="x6" onchange="var selectedOption = > _socGetSelection('_id6_soc_tbl_chc'); _submitPartialChange('_id4','1', > {partialTargets:'_id6', > event:'show',source:selectedOption});return true;"> > > <option id="_id7" selected>Item One</option> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <option id="_id9">Item Two</option> > > </select> > > </td> > > </tr> > > </table></td> > > </tr> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <tr> > > <td height="8"></td> > > </tr> > > <!-- Start: oracle.adf.ShowOne["_id6"] --> > > <tr> > > <td><!-- Start: oracle.adf.ShowDetail["_id7"] --><!-- > Start: oracle.adf.Output["_id8"] -->Showing One</td> > > </tr> > > </table></td> > > > > <td><img src="/TRecsWebClient/adf/images/t.gif" alt="" > width="10" height="1"></td> > > </tr> > > > > <tr> > > <td colspan="2" width="100%"><!-- Start: > oracle.adf.Panel["_id5"] --><table class="x82" cellpadding="0" > cellspacing="0" border="0" summary="" width="100%"> > > <tr> > > <td height="1"></td> > > </tr> > > </table></td> > > </tr> > > </table><!-- Start: oracle.adf.Panel["_id5"] > --><div><div></div><!-- Start: oracle.adf.Panel["_id5"] --><div></div><!-- > Start: oracle.adf.Panel["_id5"] --><a id="TheContent" name="TheContent" > class="xj"></a><!-- Start: oracle.adf.Panel["_id5"] --><table width="100%" > summary="" border="0" cellspacing="0" cellpadding="0"> > > <tr valign="top"> > > <td width="100%"></td> > > <!-- Start: oracle.adf.Panel["_id5"] --> > > <td nowrap></td> > > </tr> > > </table><div></div><!-- Start: oracle.adf.Panel["_id5"] > --><div></div><!-- Start: oracle.adf.Panel["_id5"] --><div> > > <hr class="x4q"><div class="x4s"></div><div > class="x4r"></div><div > class="x4t"></div></div><div></div></div><!-- Start: > oracle.adf.Panel["_id5"] --><div class="x4u"><div class="x4v"><span > class="x1a"></span><span class="x1b"></span><span > class="x1c"></span></div></div> > > <input type="hidden" name="oracle.adf.faces.FORM" value="_id4"><span > id="__id4_Postscript"><input type="hidden" > name="oracle.adf.faces.STATE_TOKEN" > value="1caffdd1"><script>function __id4Validator(){return > true;}var > _id4_SF={};</script></span><script>_submitFormCheck();</script></form> > > <!-- MYFACES JAVASCRIPT --> > > > > <script type="text/javascript"><!-- > > function getScrolling() { > > var x = 0; var y = 0; > > if (self.pageXOffset || self.pageYOffset) { > > x = self.pageXOffset; > > y = self.pageYOffset; > > } else if ((document.documentElement && > document.documentElement.scrollLeft)||(document.documentElement > && document.documentElement.scrollTop)) { > > x = document.documentElement.scrollLeft; > > y = document.documentElement.scrollTop; > > } else if (document.body) { > > x = document.body.scrollLeft; > > y = document.body.scrollTop; > > } > > return x + "," + y; > > } > > > > //--></script> > > > > </body> > > <!-- Created by Oracle ADF Faces (ADF JavaServer Faces API - > ea20-SNAPSHOT/ADF JavaServer Faces Impl - ea20-SNAPSHOT), skin:trecs.basic > (trecsbasic) --></html> > > > > > > Facelets Debug Screen: > > > > Debug Output > > /pages/trecs.xhtml > > +- Component Tree > > <UIViewRoot locale="en" renderKitId="oracle.adf.core" rendered="true" > transient="false" viewId="/pages/trecs.xhtml"> > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > > > <HtmlHtml id="_id1" rendered="true" transient="false"> > > <UIDebug hotkey="D" id="_id2" rendered="true" transient="true"> > > <HtmlBody firstClickPassed="false" id="_id3" rendered="true" > transient="false"> > > <CoreForm id="_id4" rendered="true" submitted="false" transient="false" > usesUpload="false"> > > <CorePanelPage chromeType="compact" id="_id5" > menu1="CoreShowOneChoice[UINodeFacesBean, id=_id6]" messageType="none" > quickLinksShown="false" rendered="true" transient="false"> > > menu1 > > <CoreShowOneChoice accessKey="" alignment="center" id="_id6" position="top" > rendered="true" transient="false"> > > <CoreShowDetailItem accessKey="" disabled="false" disclosed="false" > id="_id7" immediate="false" rendered="true" text="Item One" > transient="false"> > > <CoreOutputText escape="true" id="_id8" rendered="true" transient="false" > truncateAt="0" value="Showing One"/> > > </CoreShowDetailItem> > > <CoreShowDetailItem accessKey="" disabled="false" disclosed="false" > id="_id9" immediate="false" rendered="true" text="Item Two" > transient="false"> > > <CoreOutputText escape="true" id="_id10" rendered="true" transient="false" > truncateAt="0" value="Showing Two"/> > > </CoreShowDetailItem> > > </CoreShowOneChoice> > > </CorePanelPage> > > </CoreForm> > > </HtmlBody> > > </UIDebug> > > </HtmlHtml> > > </UIViewRoot> > > +- Scoped Variables > > > Request Parameters > > > Name > > Value > > > None > > > > > Request Attributes > > > Name > > Value > ... > > [Message clipped]
