Я пытаюсь использовать ссылки в составном компоненте, мои ссылки находятся в простом массиве и не принадлежат ни одному управляемому компоненту.
<composite:interface>
<composite:attribute name="links" required="true" />
</composite:interface>
<composite:implementation>
<ui:param name="linksSplit" value="#{fn:split(cc.attrs.links, ',')}" />
<ui:repeat var="link" value="#{linksSplit}" >
<h:commandLink value="#{option}" action="#{link}" />
</ui:repeat>
</composite:implementation>
Я получаю следующую ошибку: Identity '#{link}' не ссылается на экземпляр MethodExpression, возвращаемый тип: java.lang.String
Мы должны использовать методы String или bean в выражении EL, но я не понимаю, почему мы не можем оценить параметр, который является строкой (ссылка в моем случае).
Если я помещу настоящую строку, на которую ссылается мой Faces-config, это сработает
<h:commandLink value="#{option}" action="#navigate" />
Если у вас есть объяснение или обходной путь, чтобы моя ссылка работала, было бы здорово