0

index.xhtmlのように見えます

<p:selectOneMenu value="#{tBean.selectedChartType}"
                    converter="entityConverter">
                    <f:selectItems value="#{tBean.chartTypes}" var="chart"
                        itemLabel="#{chart}" />
</p:selectOneMenu>

これは、マネージド Bean からの ENUM リストを示します

private List<ChartType> chartTypes = Arrays.asList(ChartType.values());

私の列挙型

public enum ChartType {

    Line("line"), Spiral_Line("spline"), Area("area"), Spiral_Area("areaspline");
    private String code;

    private ChartType(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
}

ブラウザでこの .jsf を実行すると、エラーがスローされることがあります。

XML Parsing Error: undefined entity
Location: http://xxxx/index.sf
Line Number 54, Column 733:

見つけたソースコードを見ると

&nbsp;

これがこのエラーの原因だと思います。

私は使用JSF 2.2.0していますPrimefaces 3.5

誰かがこの問題で私を助けてくれますか?

4

2 に答える 2

1

質問者を助けるのに少し遅れましたが、おそらく誰かを助けることができます: 私はこれと同じエラーを受け取りcontentType="text/html"まし<f:view>た.

<f:view contentType="text/html">
...
  <p:selectOneMenu>
    <f:selectItem itemLabel="test" itemValue="test"/>
  </p:selectOneMenu>
...
</f:view>

これは、 afaik をp:selectOneMenuレンダリングし&nbsp;、この文字が xml エンティティではないために発生します。私のページは を使用してDOCTYPE XHTML 1.0 Transitionalいるため、これによりエラーが発生します。

HTH。

于 2013-10-09T14:12:48.403 に答える
1

で次の構成として試してくださいfaces-config.xml

<converter>
    <converter-for-class>java.lang.Enum</converter-for-class>
    <converter-class>javax.faces.convert.EnumConverter</converter-class>
</converter>

ページ

    <p:selectOneMenu value="#{tBean.selectedChartType}">
        <f:selectItems value="#{tBean.chartTypes}" var="chart" itemLabel="#{chart}" />
    </p:selectOneMenu>
于 2013-07-26T08:05:36.190 に答える