JPA,JSF: не видно только-что добавленную запись Проблема: после нажатия на кнопку "AddNew/Refresh" ожидаемо выполняется добавление записи в БД (новая запись наблюдается в базе) но в таблице под кнопкой новая запись почему-то сразу не появляется. вместо нее в конце таблицы добавляется пустая половинка строки. Это мой первый веб-проект, так что косяк может быть где угодно. Код | <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <f:metadata> <f:viewParam name="id" value="#{persiqModel.nodeParam}" /> </f:metadata> <h:head> <title>WebPers</title> </h:head> <h:body> <h:form id="newForm"> <fieldset><legend>newForm</legend>> <h:outputLabel for="submitKey" value="Key: " /> <h:inputText id="submitKey" required="true" value="#{persiqModel.submitKey}" /> <br /> <h:outputLabel for="submitValue" value="Value: " /> <h:inputText id="submitValue" required="false" value="#{persiqModel.submitValue}" /> <br /> <h:commandButton value="AddNew/Refresh" action="#{persiqModel.submitW2n}" > <f:ajax execute="@form" render="@all"/> </h:commandButton> </fieldset> </h:form> <h:link value="#{persiqModel.path}" outcome="index"> <f:param name="id" value="#{persiqModel.nodes.ownerNode}" /> </h:link> <h:outputText value=" " /> <h:outputText value="#{persiqModel.nodes}" /> <h:dataTable id="w2ns" var="w2n" value="#{persiqModel.w2ns}" rules="all" cellpadding="5"> <h:column> <f:facet name="header"> <h:outputText value="Key" /> </f:facet> <h:outputText value="#{w2n.keyWord}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="Value" /> </f:facet> <h:link outcome="index" value="#{w2n.valueNode}"> <f:param name ="id" value="#{w2n.value}" /> </h:link> </h:column> </h:dataTable> </h:body> </html>
|
Код | @Stateless public class PersiqBean { private static final Logger logger = Logger.getLogger("WebPers.ejb.PersiqBean"); @PersistenceContext private EntityManager em; public List<W2n> w2ns(Nodes nodes) { Query query = em.createNamedQuery("W2n.findNode"); query.setParameter("node", nodes==null?1:nodes.getNodeId()); return query.getResultList(); } ...
|
Код | @ManagedBean @ViewScoped public class PersiqModel { @EJB private PersiqBean pb; private long nodeParam; private Nodes nodes; private String submitKey; private String submitValue; private String message;
public List<W2n> w2ns() { return pb.w2ns(nodes); }
public String submitW2n() { pb.newW2Node(1,submitKey,submitValue); return null; } ...
|
|