Я использую JSF 2 и EJB 3.1 для создания формы.
Я использую эту часть страницы, чтобы получить некоторые данные, чтобы я мог передать их своему бобу, используя verifyDialog чуть ниже
<p:column headerText="#{bundle.edit}" style="width:10px; overflow:visible;">
<p:rowEditor/>
</p:column>
<p:column headerText="#{bundle.delete}" style="width:10px; overflow:visible;">
<p:commandButton update=":form" oncomplete="confirmation.show()"
image="ui-icon ui-icon-close" title="Delete">
<f:param value="#{user}" name="userAction" />
</p:commandButton>
</p:column>
</p:dataTable>
<p:confirmDialog message="Are you sure? user:#{param['userAction']} " width="500"
header="Confirm" severity="alert" widgetVar="confirmation">
<p:commandButton value="Yes sure" update=":form"
actionListener="#{userController.deleteAction(param['userAction'])}"
oncomplete="confirmation.hide()" />
<p:commandButton value="Not yet" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</h:form>
И это Боб, который должен получить его
@Named(value = "userController")
@Stateful
@RequestScoped
@TransactionManagement(TransactionManagementType.CONTAINER)
public class UserController implements Serializable {
private User current;
@Inject
private br.com.cflex.itm.dataaccess.UserFacade userFacade;
public UserController() {
}
public void deleteAction(User user) {
userFacade.remove(user);
}
Но мой бин принимает значение NULL только как пользователь, и в диалоге Я печатаю данные, чтобы видеть, что там выбран объект пользователя.
Что плохого в передаче таких параметров?
Почему я получаю нулевое значение в своем Бине? Потому что они теряются в общении между клиентом и сервером ...