データテーブルを含むコンポーネントを持つ 3 つのフォームがあります。それらを 1 つのフォームに結合したいと考えています (各フォームには同じ UI コンポーネントのセットが含まれているため)。<p:menu>
この目的で使用することを考えました。<p:menu>
3 つの menuItem があり、各項目をクリックすると、適切なフォーム コンテンツがレンダリングされます。のアクション属性を指定すると<p:menu>
、次のエラーが発生します。
要素タイプ「p:menuitem」の後には、属性指定「>」または「/>」が続く必要があります。
xhtml コード:
<h:form id="frm">
<p:menu>
<p:menuitem value="price losers" action="#{equityBean.onType("losers")}"/>
<p:menuitem value="price gainers"/>
<p:menuitem value="price volume"/>
</p:menu>
<p:tabView activeIndex="#{equityBean.activeIndex}">
<p:ajax event="tabChange" listener="#{equityBean.onChange}" update=":frm"/>
<p:tab title="NSE">
<p:dataTable value="#{equityBean.scripList}" var="scrip">
....
</p:dataTable>
</p:tab>
<p:tab title="BSE">
<p:dataTable value="#{equityBean.scripList}" var="scrip">
.....
</p:dataTable>
</p:tab>
</p:tabView>
</h:form>
ビーンコード:
public void onType(String type)
{
this.type=type;
}
public List<MasterScrip> getScripList() {
if(type.equalsIgnoreCase("losers"))
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByPriceLosers(exchange);
return scripList;
}
else if(type.equalsIgnoreCase("gainers"))
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByPriceLosers(exchange);
return scripList;
}
else
{
scripList=new ArrayList<MasterScrip> ();
scripList=getScripByVolumeType(exchange);
return scripList;
}
}
どこで間違っていますか?