Передача параметра компоненту struts2
-
07-07-2019 - |
Вопрос
Я пытаюсь создать компонент struts2 с помощью freemarker.Я создал ftl
файл с таким кодом, как этот:
<script type="text/javascript" src="${parameters.library?default('')}"></script>
Который ожидает параметр с именем library
для передачи компоненту.Если параметр отсутствует, то по умолчанию он равен пустому значению String
.
На моей странице JSP я имею в виду такой компонент, как этот:
<s:component template="mytemplate.ftl">
<s:param name="library" value="/scripts/mylibrary.js"/>
</s:component>
К сожалению, значение для параметра library не задается.Это всегда пустота String
.
Я пользуюсь советом из этого Учебник и кажется, как будто s:param
тег должен передать параметр в шаблон и сделать его доступным.Чего я здесь не понимаю?
Есть ли у кого-нибудь некоторый опыт создания этих компонентов, который мог бы пролить некоторый свет?
Спасибо.
Решение
отправьте параметр в одинарных кавычках
<s:component template="mytemplate.ftl">
<s:param name="library" value="'/scripts/mylibrary.js'"/>
</s:component>
Другие советы
В конце концов я наткнулся в документах на некоторый синтаксис, который работает.Я должен ссылаться на параметр следующим образом:
<script type="text/javascript" src="${parameters.get('library')?default('')}">
</script>