У меня проблема с тем, что мой Faces ActionEvent возвращает источник, но проверка на! = Null возвращает false.
Сумасшедший факт в том, что в режиме отладки я получаю заполненную переменную ActionEvent.
Я разбил код на важные разделы
Bean:
public class HibernateUserHandling
{
public void deleteUser(ActionEvent ev)
{
if (ev.getSource() != null && ev.getSource() instanceof HtmlDataTable) {
HtmlDataTable objHtmlDataTable = (HtmlDataTable) ev.getSource();
setRowOfUserToDelete(objHtmlDataTable.getRowIndex());
setPersonsCopy(HibernateDataOutput.persons);
setUserToDelete(getPersonsCopy()[getRowOfUserToDelete()]);
setUserIdToDelete((Integer) getUserToDelete().getUserId());
}
}
Вид:
<html>
<body>
<ui:composition template="./generalTemplate.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:define name="content">
<h:outputStylesheet library="css" name="cssHibernate.css" />
<h:form id="main">
<h:dataTable value="#{hibernateDataOutput.persons}" var="list"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row">
<h:column>
<f:facet name="header">Delete</f:facet>
<h:commandButton id="delete" actionListener="#{hibernateUserHandling['deleteUser']}" image="delete.jpg"/>
</h:column>
</h:dataTable>
</h:form>
</ui:define>
</ui:composition>
</body>
</html>
Я не получаю сообщение об ошибке, он просто пропускает блок If из-за "ev.getSource ()! = Null".
Заранее спасибо,
TLS