如何通过属性将数据传递到Struts标记文件中的<s:>标记?</s:>

时间:2010-06-14 12:51:37

标签: jsp attributes struts jsp-tags

我有一个有两半的表单,一个用于将宽缩略图附加到资源,另一个用于标准尺寸的缩略图。生成页面的jsp文件调用thumbnail.tag,它调用thumb.tag两次:

<thumbnail:thumb label="75px Thumbnail" />
<thumbnail:thumb label="Wide Thumbnail" />

thumb.tag依次具有以下内容:

<s:if test="#attr.label == '75px Thumbnail'">
  <thumbnail:standardThumb />
</s:if>
<s:elseif test="#attr.label == 'Wide Thumbnail'">
  <thumbnail:wideThumb />
</s:elseif>

standardThumb.tag和wideThumb.tag之间的唯一区别是变量名称,例如stdThumbUrl和wideThumbUrl。我被指派将其重构为单个文件并传入“std”或“wide”字符串。我发现这适用于常规HTML标记。例如,添加到thumb.tag:

<thumbnail:standardThumb tst="standard" />

和standardThumb.tag:

<%@ attribute name="tst" required="true"%>
...
<iframe id="${tst}ThumbImage" ... >

这可以按预期工作。我似乎无法找到将“标准”纳入

的方法
<s:if test="content.standardThumbUrl != null">

在同一个文件中。我已经尝试了我能想到的%和$以及#和{}的每种组合,但没有任何效果。是否有一些正确的语法可以帮助我实现我正在寻找的效果?

0 个答案:

没有答案