我正在尝试使用freemarker创建一个struts2组件。我创建了一个 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

我正在使用教程中的建议,似乎< code> 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>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top