私は JSF を初めて使用します。棒グラフを表示する xhtml ページを作成しています。棒グラフの棒の 1 つをクリックしたときに、ナビゲーション ルールを使用して新しい xhtml ページにリダイレクトしたかったのです。
コードサンプル:
棒グラフ コード:
<p:layoutUnit position="south" size="350" resizable="true"
closable="true" collapsible="true">
<p:growl id="barChartGrowl" showDetail="true" />
<p:barChart orientation="vertical" id="tkChart"
value="#{chartCreateService.categoryChartModel}"
legendPosition="ne" title="Human Capital Model Analysis" minY="0"
maxY="100" yaxisLabel="Score" style="height:300px;width:700px"
barMargin="50" animate="true">
<p:ajax event="itemSelect" listener="#{userInput.barChartClicked}"
update="barChartGrowl" />
</p:barChart>
</p:layoutUnit>
豆 :
public String barChartClicked(ItemSelectEvent event) {
try {
System.out.println("In Bar Chart Clicked...");
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Item selected", "Item Index: " + event.getItemIndex() + ", Series Index:" + event.getSeriesIndex());
FacesContext.getCurrentInstance().addMessage(null, msg);
int itemIndex = event.getItemIndex();
int seriesIndex = event.getSeriesIndex();
System.out.println("Item Index :"+ itemIndex);
System.out.println("Series Index :"+ seriesIndex);
objSummeryAttributeCharts.displaySelectedGroupResults(seriesIndex,itemIndex,objResults,objChart.getCategoryChartModel());
} catch (Exception e) {
e.printStackTrace();
}
return "showAttributeResults";
}
Faces-config エントリ:
navigation-rule>
<from-view-id>/pages/peerGroupAnalysis.jsf</from-view-id>
<navigation-case>
<from-outcome>showAttributeResults</from-outcome>
<to-view-id>/pages/categoryResults.jsf</to-view-id>
</navigation-case>
</navigation-rule>
すべてが正常に機能しており、ユーザーが Bean で適切にクリックしたバーのアイテム インデックスとシリーズ インデックスを取得していますが、別のページにリダイレクトしていません。JSF または mi で何か間違ったことをしている新しいページにリダイレクトする他の方法はありますか??
助けてください...
ありがとう..