OminiFaces の 'o:methodParam' は、以下のように機能するようになりました。どうすれば他の方法を使用できますか? 何が欠けているのかわかりません。<h:commandButton>
を使用しても使用し<a4j:jsFunction>
なくても動作しますがSeam
、Seam
を使用すると では動作しません<a4j:jsFunction>
。
開発環境は
RichFaces 4.
Seam 2.3
OminiFaces 1.2 JBoss 7.1.1
@Name("DataTableBacking")
public class DataTableBacking {
Department[] items = {new Department("AAA", "AAA"), new Department("BBB", "BBB"), new Department("CCC", "CCC")};
public Department[] getItems() {
return items;
}
public void action(Department action) {
System.out.println("Action called with:" + action.getName());
}
}
datatable.xhtml
<h: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:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:richm="http://developmentTutorials.com/java">
<h:body>
<h:form>
<h1>Data Table</h1>
<rich:dataTable id="departmentTable" value="#{DataTableBacking.items}" var="dep" style="width:100%">
<rich:column style="width:100px;text-align:center;">
#{dep.name}
<richm:confirmLink actionBeanMethod="#{DataTableBacking.action(dep)}" render="departmentTable"/>
</rich:column>
</rich:dataTable>
</h:form>
</h:body>
</h:html>
タグライブラリでは、confirmation.xml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:o="http://omnifaces.org/ui"
xmlns:of="http://omnifaces.org/functions"
xmlns:ui="http://java.sun.com/jsf/facelets">
<o:methodParam name="methodParam" value="#{actionBeanMethod}" />
<a4j:commandLink value="delete" onclick="#{rich:component('confirmation')}.show();return false" />
<h:commandButton value="direct" action="#{methodParam}" />
<a4j:jsFunction name="submit" action="#{methodParam}" render="#{render}" />
<rich:popupPanel id="confirmation" width="250" height="150">
<f:facet name="header">Confirmation</f:facet>
<h:panelGrid>
<h:panelGrid columns="1">
<h:outputText value="Are you sure?" style="FONT-SIZE: large;" />
</h:panelGrid>
<h:panelGroup>
<input type="button" value="OK" onclick="#{rich:component('confirmation')}.hide(); submit(); return false" />
<input type="button" value="Cancel" onclick="#{rich:component('confirmation')}.hide(); return false" />
</h:panelGroup>
</h:panelGrid>
</rich:popupPanel>
</ui:composition>