将参数传递给struts2组件

时间:2008-11-10 14:10:48

标签: templates struts2 components freemarker

我正在尝试使用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

我正在使用此tutorial中的建议,似乎s:param标记应将参数传递到模板中并使其可用。我在这里错过了什么?

有没有人有一些构建这些组件的经验可以解决一些问题?

感谢。

2 个答案:

答案 0 :(得分:5)

使用单引号发送参数

<s:component template="mytemplate.ftl">
    <s:param name="library" value="'/scripts/mylibrary.js'"/>
</s:component>

答案 1 :(得分:0)

我最终在有效的文档中遇到了一些语法。我必须参考这样的参数:

<script type="text/javascript" src="${parameters.get('library')?default('')}">
</script>