我有一个有两半的表单,一个用于将宽缩略图附加到资源,另一个用于标准尺寸的缩略图。生成页面的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">
在同一个文件中。我已经尝试了我能想到的%和$以及#和{}的每种组合,但没有任何效果。是否有一些正确的语法可以帮助我实现我正在寻找的效果?