Ich habe eine Seam-Anwendung, die ursprünglich von seam-gen mit einer Ansicht Search.xhtml generiert wurde.So konditionieren Sie die Navigation in der Naht eines Parameters
Search.xhtml hat eine Reihe von Eingabefeldern, von denen die Hälfte an die Office-Entität und die andere an die Entitäten Devices gebunden ist.
Wenn Sie beispielsweise einen Hostnamen eingeben, wird dieser an ein Feld in Geräte gebunden. Wenn Sie eine Stadt eingeben, ist sie an ein Feld in Office gebunden.
Die Zielseite wird standardmäßig OfficeResult.xhtml sein, oder, wenn eine "Geräte" -Eigenschaft eingegeben wurde, zu DeviceResult.xhtml.
Meine Frage hat zwei Teile:
Welche Komponente sollte ich in Search.xhtml verwenden für den Absenden-Button? Ich nehme h: commandButton an, aber was nenne ich dann für die Aktion? Wenn ich eine Zielansicht verwende, wird diese durch die Navigationsregel in der Datei page.xml überschrieben?
Wie richte ich meine Search.page.xml-Datei ein? Wie bediene ich die Navigation auf dem Parameter?
Hier ist Search.xhtml (Pseudocode):
<h:inputText value="#{devicesList.devices.devSerialNum}" />
<h:inputText id="state" value="#{officeList.office.state}" />
<h:commandButton id="search" action="/OfficeResult.xhtml" value="Search" />
Search.page.xml (Pseudocode):
<navigation>
<rule if devSerNum is set >
<redirect view-id="/DeviceResult.xhtml"/>
</rule>
<rule if state is set >
<redirect view-id="/OfficeResult.xhtml"/>
</rule>
</navigation>
Update: in der Ansicht: im page.xml: \t Ich kann immer noch keine Regel zum arbeiten bekommen. Ich habe sogar versucht: Dieses doesn führe mich nicht zu OfficeResult.xhtml. Ich kann keine Regel bekommen oder wenn ich an Bedingungen gebunden bin. ? –