考慮下面的代碼:獲得viewParam在POST
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:o="http://omnifaces.org/ui">
<f:metadata>
<o:viewParam name="selected" value="#{testBacking.selected}" >
</o:viewParam>
</f:metadata>
<h:head>
<title>
title
</title>
</h:head>
<h:body>
<o:form includeViewParams="true">
<h:commandButton action="#{testBacking.go()}" value="go">
<f:ajax execute="@all" render="@all"/>
</h:commandButton>
</o:form>
</h:body>
</html>
的操作方法:
public void go() {
System.out.println("go() is called");
Collection<UIViewParameter> viewParams = ViewMetadata.getViewParameters(FacesContext.getCurrentInstance().getViewRoot());
for (UIViewParameter viewParam : viewParams) {
System.out.println(viewParam.getName() +" = "+ viewParam.getValue());
}
}
的操作方法返回正確viewParam的名字,但價值總是空。如果這是預期的行爲,<o:form includeViewParams="true">
如何幫助實際使用?
我正在使用Mojarra 2.1.12和Omnifaces 1.1。
非常感謝您爲JSF社區提供精彩的Omnifaces。 – siva636
不客氣:)有一種'Faces.getViewParameters()'獲取所有視圖參數的快捷方式。 – BalusC
哦,很好。我會嘗試。再次感謝。 – siva636