1

我需要帮助!我花了几天的时间来寻找以下用例的解决方案。请原谅我没有代码。

一种 Web 输入/编辑表单:

用户详细信息 - 包含用户名、uploadfileName 等,以及“保存”和“上传”按钮

  1. 用户填写他的详细信息
  2. 用户点击“上传”
  3. 系统打开 Primefaces FileUpload 屏幕
  4. 用户上传图片
  5. 系统关闭 Primefaces FileUpload 自定义画面
  6. 系统用上传的文件名更新uploadfileName outputText。
  7. 用户单击以保存用户详细信息。
  8. 系统验证并保存用户详细信息。

Primefaces FileUpload 自定义屏幕:这是嵌入在一个对话框中,并在一个单独的 xhtml 文件中(为了可重用性)。

问题是如何从上传对话框传递上传文件名值以更新调用(主)用户页面中的上传文件名输出文本。

例如,在 Vaadin 中,可以在 Trinidad 的情况下使用 ActionListener 或 ReturnActionListener。

感谢您的帮助(提前)。

4

1 回答 1

0

将 bean 放在视图范围内。然后,同一视图中的所有表单都可以使用同一个 bean 实例。

@ManagedBean
@ViewScoped
public class Register {
    // ...
}

您可以相互注入视图范围的 bean。您可以将上传表单的 bean 注入到注册表单的 bean 中,并在 action 方法中访问它。

@ManagedBean
@ViewScoped
public class Register {

    @ManagedProperty("#{upload}")
    private Upload upload;

    // ...
}

它是否是物理上独立的页面并不重要,只要您将它们包含在一个相同的主视图中,例如<ui:include>或复合,然后在回发中保持相同的视图状态。

于 2012-12-19T13:18:24.377 回答