JSF2: Beschränkung des Attributs cc: auf einen bestimmten Objekttyp in einer Liste

Wenn ich eine Managed Bean wie folgt hatte:

@ManagedBean
@RequestSchoped
public class Example {

    private List<String> stringList;
    private List<Long> longList;

    // getters, setters, etc. down here
}

und hatte eine benutzerdefinierte Komponente, die eine Liste als Attribut akzeptierte:

<?xml version='1.0' encoding='UTF-8' ?>
<!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:cc="http://java.sun.com/jsf/composite"
      xmlns:h="http://java.sun.com/jsf/html">

  <!-- INTERFACE -->
  <cc:interface>
      <cc:attribute name="aList" type="java.util.List" />
  </cc:interface>

  <cc:implementation>
      <!-- code is in here -->
  </cc:implementation>
</html>

Wie könnte ich sicherstellen, dass dies funktioniert:

<myComp:previousComponent aList="#{example.stringList}" />

aber das hat nicht geklappt:

<myComp:previousComponent aList="#{example.longList}" />

it anderen Worten, was ich für das @ tun möchcc:attribute ist wie folgt

<cc:attribute name="aList" type="java.util.List<java.lang.String>" />

Wie wir wissen, ist es in xhtml jedoch nicht ratsam,> oder <zu verwenden. Da Generics nur zur Kompilierungszeit überprüft wird, bin ich mir nicht sicher, wie dies geschehen soll. Weiß jemand, ob das möglich ist?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage