【问题标题】:JSF2 cant pass a value to a new pop windowJSF2 无法将值传递给新的弹出窗口
【发布时间】:2012-09-07 06:59:36
【问题描述】:

我遇到了一些代码问题。现在我尝试修改/删除个人信息,但是我输入了一个无效值尝试修改/删除,它仍然弹出一个新窗口。我不知道如何修改这些代码,因为我输入了一个无效值,它不会弹出一个窗口。 我还有其他问题。当我输入一个有效值时,该值不能传递给弹出窗口,就像我输入一个名字去抓取id值,该值不能传递给弹出窗口,我怎么能喜欢它。谢谢大家!

HTML

<h:panelGrid columns="3" cellspacing="20">
     <h:outputLabel for="name" value="Modify Name"/> <p:inputText value="#{modify.enName}"/>
     <h:commandButton value="Modify System"  style="height:35px" onclick="window.open('#{modify.domodify()}','modify',
                                                      'width=500,height=400,status=yes,resizable=yes,scrollbars=yes') ; return false;"/>
</h:panelGrid>

Java 代码

 public String domodify() {
    try {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("com.mycompany_SuneCoolingSystem_war_1.0-SNAPSHOTPU");
        EmployeeJpaController jpaController = new EmployeeJpaController(null, emf);
        EntityManager e = jpaController.getEntityManager();
        Query q = e.createNamedQuery("Employee.findByEnName");
        q.setParameter("enName", getEnName());
        System.out.println(getEnName());
        List resultList = q.getResultList();
        Employee result = (Employee) resultList.get(0);

        id = result.getId();
        name = result.getName();
        idNumber = result.getIdNumber();
        constellation = result.getConstellation();
        email = result.getEmail();
        enName = result.getEnName();

        rego="CRUD/Modify.xhtml";
    } catch (Exception ex) {
        FacesContext context = FacesContext.getCurrentInstance();
        context.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "No Man", ""));
        rego = "index.xhtml";
    }
    return rego;
}

【问题讨论】:

    标签: java jsf


    【解决方案1】:
    onclick="window.open('#{modify.domodify()}','modify', 'width=500,height=400,status=yes,resizable=yes,scrollbars=yes')
    

    这段代码的意思是当点击时,打开一个新窗口并执行操作以检查返回的 URL。在执行任何逻辑之前打开窗口。

    您应该使用f:ajax(或您的组件库等价物,如果您愿意)对修改执行ajax 调用,并在ajax 调用成功结束并返回预期值时使用onevent 启动正确的javascript。

    查看JSF 2: How show different ajax status in same input? 以查看处理onevent 的示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多