Я пытался получить «общее» диалоговое окно с функциональностью автозаполнения, чтобы работать в течение нескольких дней. Оказывается, я просто создавал MethodExpression как «неправильный путь». Поэтому я думал, что буду документировать это здесь.Создать методExpression в Java (и использовать его в JSF)
Чтобы повторить: вы хотите динамически создать методExpression, сохранить его в свойстве и использовать его на странице JSTL Template или JSF.
Например:
// Template
<c:forEach items="#{property.subItems}" var="subitem">
<ui:include src="editor.xhtml">
<ui:param name="autocompleteMethod" value="#{subitem.autocompMethod}" />
</ui:include>
</c:forEach>
// editor.xhtml
// We're using RichFaces (unfortunately), but this is just an example
<rich:autocomplete mode="cachedAjax" minChars="2"
autocompleteMethod="#{autocompleteMethod}"
/>
Как вы думаете, это дубликат? Вопрос, который вы связали, использует определенные структуры, такие как OmniFaces и PrimeFaces, для решения проблемы. Главное здесь - как построить MethodExpression из кода. Возможно, я использую его в виджетах RichFaces, но это просто пример использования и его можно заменить. Само решение является чистым JSF и работает со всеми структурами Faces. –