相关疑难解决方法(0)

在验证错误发生后,如何使用PrimeFaces AJAX填充文本字段?

我在视图中有一个表单,它执行自动完成和gmap本地化的ajax部分处理.我的支持bean实例化一个实体对象"Address",并且该对象引用了表单的输入:

@ManagedBean(name="mybean")
@SessionScoped
public class Mybean implements Serializable {
    private Address address;
    private String fullAddress;
    private String center = "0,0";
    ....

    public mybean() {
        address = new Address();
    }
    ...
   public void handleAddressChange() {
      String c = "";
      c = (address.getAddressLine1() != null) { c += address.getAddressLine1(); }
      c = (address.getAddressLine2() != null) { c += ", " + address.getAddressLine2(); }
      c = (address.getCity() != null) { c += ", " + address.getCity(); }
      c = (address.getState() != null) { …
Run Code Online (Sandbox Code Playgroud)

validation ajax jsf primefaces

45
推荐指数
1
解决办法
3万
查看次数

取消按钮的JSF immediate ="true"不起作用

我有一个两个标签页,一个标签是记录列表,单击记录将切换到编辑选项卡,并在编辑选项卡中有保存和取消按钮.

现在,我点击记录#1,进行一些编辑,然后单击取消按钮.当然我不想验证表格,因为它被取消了,所以我设置immediate="true"了取消按钮.现在关闭编辑选项卡,返回到记录列表.然后,我点击另一条记录#2,发生了问题:在编辑选项卡中,它仍然是记录#1的先前内容,而不是记录#2.我在调试视图中检查了变量,编辑表单的后端bean实际上填充了记录#2.

也就是说,在立即命令之后就会出现问题.

(在我添加验证和immediate ="true"之前,一切都很顺利.)

class FormBean {

    Record activeRecord;
    ...

    public void clickOnList() {
        activeRecord = loadRecord(clickIndex);
    }

    public void cancelForm() {
        activeRecord = null;
    }

}
Run Code Online (Sandbox Code Playgroud)

page.xhtml:

<h:form id="main">
  ...
  <p:tab title="Edit" rendered="#{formBean.activeRecord != null}">
    ...
    <p:commandButton value="Cancel"
        actionListener="#{formBean.cancelForm}"
        update="main" async="true" immediate="true" />
  </p:tab>
</h:form>
Run Code Online (Sandbox Code Playgroud)

jsf-2

5
推荐指数
1
解决办法
7893
查看次数

标签 统计

ajax ×1

jsf ×1

jsf-2 ×1

primefaces ×1

validation ×1