4

オートコンプリートのデモを試し ています。エラーは発生しませんが、httprequest / responseは、サーバーと通信しているがBeanとは通信していないことを示しています。Primefaces3.4の最新バージョンを使用しています。

どんな助けでも大歓迎です。

豆 :

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import com.zreflect.emyed.managedbean.BaseMB;

@ManagedBean
@ViewScoped
public class CircleSearchBean extends BaseMB implements Serializable {
    private static final long serialVersionUID = 1L;
    private String selected;
    List<String> results = new ArrayList<String>();
    public List<String> complete(String query) {
        List<String> results = new ArrayList<String>();
        for (int i = 0; i < 10; i++) {
            results.add(query + i);
        }
        return results;
    }
    /**
     * @return the selected
     */
    public String getSelected() {
        return selected;
    }

    /**
     * @param selected
     *            the selected to set
     */
    public void setSelected(String selected) {
        this.selected = selected;
    }
}

XHTML

<!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:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
    <title><h:outputText value="test" /></title>
</h:head>

<h:body>
<h:form>
<p:autoComplete value="#{circleSearchBean.selected}" completeMethod="#{circleSearchBean.complete}"/> 
</h:form>
</h:body>
</html>

Chromeデベロッパーツールからのデバッグ情報は次のとおりです。

リクエスト:

Request URL:http://localhost:8080/PrimefacesTest/faces/index.xhtml
Request Method:POST
Status Code:200 OK

リクエストヘッダー:

Accept:application/xml, text/xml, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:157
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:JSESSIONID=60Wd6aXSj6rDbPOgvMCoFJFF.undefined
Faces-Request:partial/ajax
Host:localhost:8080
Origin:http://localhost:8080
Referer:http://localhost:8080/PrimefacesTest/faces/index.xhtml
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1
X-Requested-With:XMLHttpRequest

フォームデータ:

javax.faces.partial.ajax:true
javax.faces.source:j_idt8
javax.faces.partial.execute:j_idt8
javax.faces.partial.render:j_idt8
j_idt8:j_idt8
j_idt8_query:hello

応答ヘッダー:

Cache-Control:no-cache
Content-Length:346
Content-Type:text/xml;charset=UTF-8
Date:Sun, 02 Sep 2012 21:11:42 GMT
Server:Apache-Coyote/1.1
X-Powered-By:JSF/2.0
4

1 に答える 1

2

オートコンプリートに「id」属性を追加した後、デモに示すように機能しています。

<p:autoComplete id="autocomplete" value="#{circleSearchBean.selected}" 
   completeMethod="#{circleSearchBean.complete}"/>  

別のプロジェクトでは、「id」属性なしで機能しています。バグのように見えます。

于 2012-09-03T18:40:53.767 に答える