Java Google应用程序引擎:f:setPropertyActionListener与p:ajax
PrimeFaces和GAE的结合再一次让我发疯。在一个Java Google应用程序引擎:f:setPropertyActionListener与p:ajax,java,google-app-engine,jsf,primefaces,Java,Google App Engine,Jsf,Primefaces,PrimeFaces和GAE的结合再一次让我发疯。在一个p:dataTable中,我想单击一个图像,调用一个bean方法并设置一个参数。已调用该方法,但该参数不起作用。以下是一个简化示例(不含表格): 在日志中,我看到一个@PostConstruct,单击图像后总是索引:0 更新这里可能会讨论值更新问题我对GAE了解不多,因此我不能假设它不会以某种方式干扰您的代码。但是,我不一定认为是用于标记的合适标记。我认为它不接受这一点 下面是我如何使用和HTML标记实现对ViewScope bean属性的
p:dataTable
中,我想单击一个图像,调用一个bean方法并设置一个参数。已调用该方法,但该参数不起作用。以下是一个简化示例(不含表格):
在日志中,我看到一个@PostConstruct
,单击图像后总是索引:0
更新这里可能会讨论值更新问题我对GAE了解不多,因此我不能假设它不会以某种方式干扰您的代码。但是,我不一定认为
是用于
标记的合适标记。我认为它不接受这一点
下面是我如何使用
和HTML
标记实现对ViewScope bean属性的ajax调用的示例
<p:commandLink actionListener="#{listUsers.toModify}" oncomplete="userEditDlg.show()"
update="addEditForm:editGrid addEditGrid:passwordChange addEditGrid:passwordGrid">
<f:param name="userId" value="#{user.userId}" />
<span class="ui-icon icoCogEdit" style="padding-right: 1.5em;" />
</p:commandLink>
<p:commandLink actionListener="#{listUsers.toDelete}" oncomplete="userDelDlg.show()"
update="listUsersForm:dialogText">
<f:param name="userId" value="#{user.userId}"/>
<span class="ui-icon icoDelete" />
</p:commandLink>
我只是将CSS类设置为我选择的静态图像图标,然后单击它将调用一个对话框。说明:
仅在实现ActionSource
的父组件上受支持。
没有。然而,有趣的细节是,当您使用
而不是
时,会抛出一个异常,该异常正好与该消息一起抛出。顺便说一下,
也可以用所需的
替换。顺便说一句,
将比
在
@BalusC内部工作得同样好,我没有意识到这一点,并且学到了一些新的东西,但是如果你仔细观察,你会发现
实际上在
标签内部,压痕是螺旋状的。这是一个很好的信息。一个
不能是另一个
的孩子。它将只是parentmostUIComponent
的子组件。感谢您指出这一点。我用一个值更新的问题更新了这个问题。不久前,我在使用RichFaces时遇到了类似的问题,但我的搜索并没有为我提供任何解决方案。
@javax.faces.bean.ManagedBean @ViewScoped
public class TestBean implements Serializable{
private int index; // getter/setter
@PostConstruct public void init() {
index = 0;log.log(Level.WARNING, "@PostConstruct");}
public void test(ActionEvent ae){
log.log(Level.WARNING, "Index: "+index);}
}
<p:commandLink actionListener="#{listUsers.toModify}" oncomplete="userEditDlg.show()"
update="addEditForm:editGrid addEditGrid:passwordChange addEditGrid:passwordGrid">
<f:param name="userId" value="#{user.userId}" />
<span class="ui-icon icoCogEdit" style="padding-right: 1.5em;" />
</p:commandLink>
<p:commandLink actionListener="#{listUsers.toDelete}" oncomplete="userDelDlg.show()"
update="listUsersForm:dialogText">
<f:param name="userId" value="#{user.userId}"/>
<span class="ui-icon icoDelete" />
</p:commandLink>