gpt4 book ai didi

jsf - Primefaces 命令按钮未更新数据表。是否需要更新属性

转载 作者:行者123 更新时间:2023-12-02 07:28:42 26 4
gpt4 key购买 nike

我改变了我的 <h:commandButton>标记到 PrimeFaces <p:commandButton>搜索页面上的标记和我的数据表停止显示结果。添加 update 后属性又起作用了。我只是想了解我是如何实现整体功能(viewscope、action 与 actionListener 等)还是 update真的需要属性吗?

<h:form id="search_form">
<p:inputText id="search" value="#{searchBean.searchString}" />
<p:commandButton update="search_form" value="Search" action="#{searchBean.searchByString}" >
</p:commandButton>

<p:dataTable id="output" var="res" value="#{searchBean.results}" emptyMessage="No results found with given criteria">

etc...
@ViewScoped
@ManagedBean
public class SearchBean {

@Inject
private SearchRepository searchRepository;
private List<Results> res;
private String searchString;

public SearchBean() {
}

public String searchByString()
{
this.setRes(searchRepository.searchBySingleString(searchString));
}

最佳答案

h:commandButtonp:commandButton 之间的一个区别是,第二个默认执行 ajax 请求,而第一个执行普通 POST 请求。

在 ajax 请求中,您必须指定发送表单时要处理的内容以及响应发生时要更新的内容。默认情况下,p:commandButton 不更新任何内容,这就是您的表格未正确填充的原因。

另请参阅:

关于jsf - Primefaces 命令按钮未更新数据表。是否需要更新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24560725/

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