Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 数据表don';t刷新_Jsf 2_Primefaces_Datatable - Fatal编程技术网

Jsf 2 数据表don';t刷新

Jsf 2 数据表don';t刷新,jsf-2,primefaces,datatable,Jsf 2,Primefaces,Datatable,晚上好,来自瑞典 我尝试获取一个primefaces数据表来刷新。我尝试了各种提示和解决方案,但都没有效果。 该按钮触发数据库中的搜索,如果我手动刷新paga或使用表格排序功能,则显示结果。 表示支持bean中的代码正常工作。但单击按钮后不会直接自动刷新。。 bean作用域是会话 这是这一页 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtm

晚上好,来自瑞典

我尝试获取一个primefaces数据表来刷新。我尝试了各种提示和解决方案,但都没有效果。 该按钮触发数据库中的搜索,如果我手动刷新paga或使用表格排序功能,则显示结果。 表示支持bean中的代码正常工作。但单击按钮后不会直接自动刷新。。 bean作用域是会话

这是这一页

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" 
  xmlns:p="http://primefaces.org/ui">
  <h:head>
  </h:head>
<h:body>


<ui:composition template="/templates/BasicTemplate.xhtml">

<ui:define name="content">
<h:form id="src_res">
 <h2>Sök klass,undervisningsgrupp eller individ</h2>                     

            <b>Sökord</b>: &nbsp;<h:inputText  id="sw" value="#{smsb.searchword}"/>
            <p:outputLabel value="Lärare"></p:outputLabel>
            <h:selectOneListbox size="1" id="teacher" value="#{smsb.searchteacher}" >
            <f:selectItems  value="#{smsb.teachers}"/>
            </h:selectOneListbox>
            <p:commandButton action="#{smsb.searchgrp_user}" value="Sök!"   update="src_list"/> 

<p:dataTable   id="src_list"    value="#{smsb.searchresult}"  var="obj" >    

                  <p:column width="20%" sortBy="#{obj.groupname}">
                      <f:facet name="header" >
                          <h:outputText value="Beteckning"/>
                      </f:facet>    
                      <h:outputText value="#{obj.groupname}"/>
                  </p:column>
                  <p:column width="10%">
                      <f:facet name="header" >
                          <h:outputText value="typ"/>
                      </f:facet>    
                      <h:outputText value="#{obj.klass}"/>
                  </p:column>
                  <p:column width="10%" sortBy="#{obj.teacher}">
                      <f:facet name="header" >
                          <h:outputText value="lärare"/>
                      </f:facet>    
                      <h:outputText value="#{obj.teacher}"/>
                  </p:column>
              </p:dataTable>
              </h:form>
</ui:define>
</ui:composition>
</h:body>
</html>

Sök klass,被低估的人
斯科德:
有什么帮助或提示吗

关于 拉尔夫

编辑

您好,谢谢您的帮助

正如您所猜测的,searchresult是一个列表,Getter由

List<sbasUserList> searchresult;    

public List<sbasUserList> getSearchresult() {
    return searchresult;
}  
列出搜索结果;
公共列表getSearchresult(){
返回搜索结果;
}  
search\u grp是一种支持bean的方法:

public String searchgrp_user(){



    //FacesContext context = FacesContext.getCurrentInstance(); 

    ObjectContainer db = this.connBD("sms");
    ObjectSet<sbasUserList> res;

    this.searchresult = new ArrayList<sbasUserList>() ;

    Query query=db.query();
    query.constrain(sbasUserList.class);
    query.descend("groupname").constrain(this.searchword).like();
      query.descend("type").constrain('P').or(query.descend("type").constrain('M'));
    query.descend("teacher").constrain(searchteacher).contains();       
    res = query.execute();
    this.searchresult.addAll(res);
    System.out.println(this.searchresult.size());
    db.close();
    return "";
}
publicsstringsearchgrp\u user(){
//FacesContext context=FacesContext.getCurrentInstance();
ObjectContainer db=this.connBD(“sms”);
对象集;
this.searchresult=new ArrayList();
Query=db.Query();
query.constraint(sbasUserList.class);
query.degress(“groupname”).constraint(this.searchword).like();
query.down(“type”).constraint(“P”)或query.down(“type”).constraint(“M”);
query.down(“教师”).constraint(searchteacher.contains();
res=query.execute();
this.searchresult.addAll(res);
System.out.println(this.searchresult.size());
db.close();
返回“”;
}

如果我手动更新浏览器,该表将填充正确的dat。(F5)但我当然希望自动完成此操作。

对不起,各位!我使用的glassfish服务器设置不正确。它并没有显示日志文件中的所有错误。我对整个IDE做了一个全新的设置(新的Eclipse,新的glassfish服务器,thanx BalusC,用于难以置信的教程!!!),我发现了所有错误。现在它的工作原理应该是这样的

问候
拉尔夫

我说得对吗?搜索按钮是“Sök!”?什么是
smsb.searchresult
,一个操作还是一个列表?如果是列表,您确定调用
smsb.searchgrp\u user
后该值会更改吗?如果它是一个动作,它在做什么?嘿,拉尔夫,你能显示bean代码的来源吗?@user1983983:我用一些相关的代码更新了我的问题。尝试在
searchgrp\u user
中返回
null
,或者将返回类型设置为
void