p:对话框表单提交在RequestContext更新后失去操作方法

时间:2015-07-10 21:50:57

标签: jsf primefaces

我的org.h2.jdbc.JdbcSQLException: Column "USER0_.USERID" not found; SQL statement: select user0_.ID as ID1_2_0_, user0_.ID as ID1_0_0_, user0_.ID as ID1_0_1_, user0_.FIRSTNAME as FIRSTNAM2_0_1_, user0_.USERNAME as USERNAME3_0_1_, user0_.LASTNAME as LASTNAME4_0_1_, user0_.USERID as USERID5_0_1_, task1_.ID as ID1_2_2_, task1_.DESCRIPTION as DESCRIPT2_2_2_, task1_.ESTIMATEDDURATIONHOURS as ESTIMATE3_2_2_ from TASK.APP_USER user0_ left outer join TASK.PROJECT_TASK task1_ on user0_.USERID=task1_.ID where user0_.ID=? [42122-176] at org.h2.message.DbException.getJdbcSQLException(DbException.java:344) at org.h2.message.DbException.get(DbException.java:178) at org.h2.message.DbException.get(DbException.java:154) 内有一个小表格:

p:dialog

你能告诉我为什么,当我点击提交按钮时,对话框确实已关闭,但<p:dialog id="commentDialog" header="#{managedBean.dialogHeader}" widgetVar="commentDialog" modal="true" resizable="true" height="auto"> <h:form> <h:outputLabel for="comment" value="Comment:"/> <p:inputTextarea id="comment" title="Comment" rows="6" cols="33" value="#{managedBean.comment}" required="true"/> <h:commandButton value="Submit" action="#{managedBean.dialogFormSubmit}"/> </h:form> </p:dialog> 中的dialogFormSubmit()没有被调用?

我还尝试更改为managed bean,考虑p:commandButton PrimeFaces h:commandButton变种所需的功能,但也是如此。

这个问题类似于this,我试图做同样的事情,但无法使其发挥作用,this one似乎并没有真正可行的答案。

更新

该对话框正在从托管bean中显示,但在使用RequestContext API显示之前也进行了更新(我得到的解决方案here)以刷新标头:

RequestContext context = RequestContext.getCurrentInstance();  
context.update("commentDialog");
context.execute("PF('commentDialog').show();");

我已经意识到只有在我更新对话框(上面的中间行)时才会出现此故障。当我实际上没有(对于对话框功能并不重要但标题显示为空白)时,提交操作正常。所以上下文更新似乎正在弄乱它,我不知道如何在保留提交功能的同时获得更新。可能是RequestContext.update()中的错误吗?

0 个答案:

没有答案