Conditionnellement rendre JSF h:panelGrid fondée sur la présence de la chaîne de requête (ou pas de chaîne de requête à tous)

Je suis en train de dynamiquement rendu composition/modèles basés sur la présence d'une chaîne de requête ou de l'absence d'une chaîne de requête. Par exemple:

localhost:9080/myWonderfulApp/test.xhtml?foo=bar

Cela fonctionne, A. xhtml se tire à l'intérieur.

localhost:9080/myWonderfulApp/test.xhtml

Cela ne fonctionne pas, B. xhtml n'est pas retiré dans.

Je vais avoir des problèmes avec l'absence d'une partie de chaîne de requête. Je peux rendre A. xhtml quand je passe ?foo=bar, mais je n'arrive pas à obtenir B. xhtml rendu quand je n'ai pas de chaîne de requête. J'ai essayé quelques variantes, j'ai d'abord pensé que #{param['foo'] != 'bar' pourrait fonctionner, mais je pense que cela ne fonctionne pas car je n'ai pas de foo requête à tous les param. J'ai essayé de vérifier si param == null mais cela ne fonctionne pas non plus.

Est-il possible de mettre mon rendu attribut basé sur AUCUNE chaîne de requête?

Je ne peux pas juste mettre une autre chaîne de requête pour B. xhtml, soit que je suis en train de travailler sur une application héritée qui obtient 2 thèmes différents, de sorte que la modernisation de tous les applications anciennes que le lien n'est pas une option. De nouvelles applications pourront utiliser une chaîne de requête, les anciens ont besoin pour obtenir une vieille peau liaison avec pas de chaîne de requête.

<!--This works-->
<h:panelGrid rendered="#{param['foo'] == 'bar' ? true : false}">
    <ui:composition template="A.xhtml">...</ui:composition>
</h:panelGrid>

<!--This doesn't work-->
<h:panelGrid rendered="#{param == null ? true : false}">
    <ui:composition template="B.xhtml">...</ui:composition>
</h:panelGrid>

Cela ne semble pas fonctionner, soit:

<h:panelGrid rendered="#{empty facesContext.externalContext.requestParameterMap.foo ? true : false}">