Отправка аргументов из JSF в переходы веб-потока - PullRequest
1 голос
/ 13 октября 2011

В основном то, что я сейчас имею, выглядит примерно так:

<view-state id="pageOne" view="pageone.xhtml">
    <transition on="gotoPageTwo" to="doGotoPageTwo" />
</view-state>
<subflow-state id="doGotoPageTwo" subflow="pageTwo">
    <transition on="return" to="pageOne" />
</subflow-state>

С кодом JSF:

<h:commandLink value="Page Two" action="gotoPageTwo" />

Пока все хорошо. То, что я хочу сделать дальше, похоже на:

<h:commandLink value="Page Two" action="gotoPageTwo(customArgument)" />

И

<view-state id="pageOne" view="pageone.xhtml">
    <transition on="gotoPageTwo" to="doGotoPageTwo" />
</view-state>
<subflow-state id="doGotoPageTwo" subflow="pageTwo">
    <input name="myCustomArgument" value="customArgument" />
    <transition on="return" to="pageOne" />
</subflow-state>

Я знаю, что это, очевидно, не работает как есть, но, надеюсь, вы поняли концепцию. Единственное решение, которое я нашел, это использование actionListener для помещения данных в какую-то псевдоглобальную переменную (либо в связанный bean-компонент, либо в flash- / flow-Scope). Это выглядит как отвратительное решение, не сильно отличающееся от помещения ваших аргументов в глобальные переменные вместо передачи их в c ++. Есть ли лучший способ сделать это?

Ps. Мы также используем Primefaces, но я не думаю, что это уместно в этой ситуации.

...