gpt4 book ai didi

java - 如何从 JSF 中的 ActionListener 呈现表单的部分内容

转载 作者:行者123 更新时间:2023-11-30 04:36:18 24 4
gpt4 key购买 nike

我的一个 jsf 页面中有一个简单的文件上传机制。文件上传后,我就会触发一个 ActionListener。此时,我可以访问用户上传的文件的名称,并且我想将其添加到 outputText 组件中。如何从 java 代码重新呈现表单以便显示文件?我可以调用一些ajax函数吗?

/**
* Called when a file is uploaded
* @param event The FileUploadEvent that contains info on the file uploaded
*/
public void handleFileUpload(FileUploadEvent event){
data = event.getFile().getContents();
name = event.getFile().getFileName();
}

上面是文件上传后运行的代码。你可以看到我得到了文件的名称。我现在需要重新渲染输出文本以便显示名称。

最佳答案

这通常在 View 端声明。

即使您没有提及任何相关内容(这很糟糕;您应该始终在问题中提及您正在使用的 JSF 实现和组件库,并且确保不要将所有内容过度概括为“标准 JSF”),您所拥有的监听器方法代码可被识别为特定于 PrimeFaces <p:fileUpload> 的监听器方法代码.

在这种情况下,您实际上应该使用组件自己的 update属性应该引用您想要在完成 ajax 请求时更新的组件的(相对)客户端 ID。

<p:fileUpload ... update="text" />
...
<h:outputText id="text" value="#{bean.text}" />

仅此而已。在这个特定的示例中,您只需将文件名分配给 text属性。

另请参阅:

关于java - 如何从 JSF 中的 ActionListener 呈现表单的部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427444/

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