You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Quarkus Qute渲染Set首个元素时触发异常求助

解决Quarkus Qute渲染Set集合第一个元素的报错问题

问题根源

java.util.LinkedHashSet是有序集合,但不支持通过索引下标访问元素。Qute模板中使用[0]的语法时,会尝试访问集合的0属性,而Set并没有这个属性,因此触发Property "0" not found异常。

可行解决方案

方案1:后端将Set转换为List

在业务代码中把imageUrls这个Set转为List,让它支持索引访问:

// 修改实体类的getImageUrls方法
public List<String> getImageUrls() {
    return new ArrayList<>(this.imageUrls);
}

模板代码无需修改,保持原写法即可:

<img src="{appDetails.imageUrls[0]}" />

方案2:模板中通过循环取第一个元素

利用Qute的循环语法,迭代一次后立即终止,获取第一个元素:

{#for url in appDetails.imageUrls}
    <img src="{url}" />
    {#break}
{/for}

空值处理优化

如果集合可能为空,建议添加判断避免空渲染:

{#if appDetails.imageUrls}
    {#for url in appDetails.imageUrls}
        <img src="{url}" />
        {#break}
    {/for}
{/if}

内容的提问来源于stack exchange,提问作者pvrforpranavvr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:52:03