(MyFaces + Tomahawk both 1.1.4-SNAPSHOT and 1.1.5-SNAPSHOT)
I have defined an aliasBean in a tabbed pane. If that tab is not the
current tab, the components that use the aliased bean are rendered even
though they are not displayed on the page. This becomes a problem when
the rendering fails.
**
* The example below is simplified version of what I am trying to do.
**
The pages initially displays the tab "Summary Report" and none of the
radio button are selected. When I select the tab "Finance Report" and
select any of the radio buttons, I see the following:
1) The valueChangeAction is called.
2) The exception "javax.faces.FacesException: Value is no String"
is displayed. In addition the error references the following
components:
{Component-Path :
[Class: javax.faces.component.UIViewRoot,ViewId: /query.jsp]
[Class:
org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPane,Id: _idJsp1]
[Class: org.apache.myfaces.custom.tabbedpane.HtmlPanelTab,Id: _idJsp2]
[Class: javax.faces.component.html.HtmlForm,Id: SummaryForm]
[Class: org.apache.myfaces.custom.aliasbean.AliasBean,Id: test_ab]
[Class: javax.faces.component.UINamingContainer,Id: test]
[Class: javax.faces.component.html.HtmlSelectOneRadio,Id: test_s1r]
}
** JSP code
<t:panelTabbedPane>
<t:panelTab label="Summary Report">
<h:form id="SummaryForm">
<t:aliasBean id="test_ab" alias="#{manager1}"
value="#{SummaryManager}">
<f:subview id="test">
<h:selectOneRadio id="test_s1r"
value="#{manager1.periodType}">
<f:selectItem itemLabel="Month To Date" itemValue="mtd" />
<f:selectItem itemLabel="Current Day" itemValue="now" />
</h:selectOneRadio>
</f:subview>
</t:aliasBean>
</h:form>
</t:panelTab>
<t:panelTab label="Finance Report">
<h:form>
<t:aliasBean alias="#{manager}"
value="#{financeManager}">
<f:subview id="test">
<h:selectOneRadio value="#{manager.periodType}"
valueChangeListener="#{manager.changePeriodType}"
onclick="submit();">
<f:selectItem itemLabel="Month To Date" itemValue="mtd" />
<f:selectItem itemLabel="Current Day" itemValue="now" />
</h:selectOneRadio>
</f:subview>
</t:aliasBean>
</h:form>
</t:panelTab>
</t:panelTabbedPane>
Note: If the #{SummaryManager.periodType} is not null, every thing work
as expected :(
1) Is this a bug?
2) Suggested workarounds?
Paul Spencer