我正在尝试将 JSP 页面转换为 JSF(不允许使用 JSP 代码),但偶然发现了一个问题。注意:这是学术性的,因此没有“肮脏”的解决方案可以做到。
我有 jsp 代码,可以根据各种条件设置图像的图像源和替代文本。有串联和切换条件。这是在一个循环内。
现在,我可以重现遍历所有值的循环,如下所示:
<ui:repeat value="#{gameapi.game.fieldsList}" var="field">
<h:graphicImage id="field#{field.fieldNr}" styleClass="field#{field.fieldNr}"
url="..." alt="" title=""/>
</ui:repeat>
但是,图像 url 和 alt 文本总共有 20 多种组合。显然,我怀疑为每种可能性编写有条件渲染或选择的图形图像标签是一个优雅的解决方案,因为这只会随着每一个额外的组合而变得更丑陋。我也无法在底层 java 代码中创建这些字符串,因为这会违反分离视图、模型和控制器的想法。
那么最好的解决方案是什么?这似乎是 JSF 的一个巨大弱点。