Передать теги jsp:param из пользовательского тега в тег jsp:include?
Я пытаюсь создать файл тега, который таким образом "расширяет" <jsp:include>
тег. В основном я хочу добавить пользовательскую логику, чтобы при определенных обстоятельствах она включала другой файл. У меня все нормально работает <jsp:include>
теги, но я все еще борюсь, когда есть <jsp:param>
теги на картинке.
То, что я хочу быть в состоянии сделать это:
В обычном коде jsp, main.jsp:
<custom:jsp-include page="include.jsp">
<jsp:param name="a" value="b"/>
<jsp:param name="x" value="y"/>
</custom:jsp-include>
И в файле тегов customInclude.tag:
...
<jsp:include page="${someJspFile}">
//SOMETHING-UNKNOWN-HERE
</jsp:include>
И ожидаемый результат состоит в том, что файл в переменной someJspFile вызывается со всеми параметрами, определенными в main.jsp. Т.е. параметр a=b и x=y в этом случае.
Но я не знаю, как это сделать. Я пытался использовать <jsp:doBody var="bodyContent"/>
, а затем положить ${bodyContent}
внутри <jsp:include>
, но это просто приводит к ошибке. Ошибка зависит от типа содержимого тела, которое я определил для файла тега. Если я установлю его на "tagdependent", то ошибка будет:
Ожидается стандартное действие "jsp:param" с атрибутами "name" и "value"
... и если я установлю его как "без скрипта", то ошибка для кода main.jsp, с ошибкой:
Действие jsp: param не должно использоваться вне элементов jsp:include, jsp:forward или jsp:params
Конечно, должен быть способ достичь этого? Или, с более общей точки зрения, должен быть способ передачи содержимого тела в неизменном виде от одного тега (в данном случае мой файл пользовательских тегов) к другому (<jsp:include>
в этом случае), верно?
Обратите внимание, что это не конкретно возможность поставить ${bodyContent}
внутри <jsp:include>
тег, за которым я следую, так как я могу видеть, как это можно рассматривать как функцию типа eval, если она будет работать, и это не возможность сделать eval, который я ищу. Может быть, есть какой-то особенный заполнитель или аналог, который я могу поместить в <jsp:include>
тег, который будет работать так же, как если бы я скопировал <jsp:param>
теги из main.jsp в тело <jsp:include>
в customInclude.tag?
С уважением
/Jimi