2008-11-10 73 views
1

我试图用freemarker创建一个struts2组件。我创建了一个ftl文件,这样的代码:传递参数到struts2组件

<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> 

不幸的是,该库参数的值没有被设置。它始终是一个空白String

我使用的是tutorial的建议,好像s:param标签应该将参数传递给模板并使其可用。我在这里错过了什么?

有没有人有建立这些组件的经验,可以摆脱一些光?

谢谢。

回答

5

用单引号

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

由于发送帕拉姆。我会试试这个。 – 2009-11-19 14:20:55

0

我最终在文档中运行了一些语法。我不得不提到的参数是这样的:

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