gpt4 book ai didi

java - 谷歌应用引擎 : f:setPropertyActionListener with p:ajax

转载 作者:行者123 更新时间:2023-12-04 06:15:08 25 4
gpt4 key购买 nike

PrimeFaces 和 GAE 的结合再次让我发疯。内部 p:dataTable我想单击一个图像,调用一个 bean 方法并设置一个参数。方法被调用,但参数不起作用。这是一个简化的示例(没有表格):

<h:form id="f1">
<h:outputText id="text" value="#{testBean.index}"/>
<h:graphicImage url="/images/cut.png">
<p:ajax event="click" process="@this" update="text"
actionListener="#{testBean.test}" >
<f:setPropertyActionListener target="#{testBean.index}" value="5" />
</p:ajax>
</h:graphicImage>
</h:form>

我的 TestBean看起来像这样:
@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);}
}

在日志中我看到一个 @PostConstruct单击图像后总是 Index: 0
更新 值更新问题可以在这里讨论 JSF GAE: Value Update Problem in managed bean method

最佳答案

我对 GAE 了解不多,所以我不能假设它不会以某种方式干扰您的代码。我不一定认为 <f:setPropertyActionListener>是用于 <p:ajax> 的合适标签然而标记。我不相信它接受这一点。

这是我如何使用 <p:commandLink> 实现对 View 作用域 bean 属性的 ajax 调用的示例。和一个 HTML <span>标签。

<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 类设置为我选择的静态图像图标,然后单击它会调用一个对话框。

关于java - 谷歌应用引擎 : f:setPropertyActionListener with p:ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7347055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com