Vaadin Grid使用LitRenderer无法渲染HTML链接问题咨询
Vaadin Grid中LitRenderer无法渲染HTML链接的问题
你的代码问题在于LitRenderer默认会对插值的字符串进行HTML转义:当你用${item.value}时,Lit会把字符串里的HTML标签转义成实体字符(比如<变成<),所以原本的HTML链接会被当作纯文本显示,无法解析成可点击的链接。
要解决这个问题,需要使用Lit的unsafeHTML指令,明确告诉Lit直接渲染原始HTML内容:
修改对应列的代码如下:
grid.addColumn(LitRenderer.<DetailInfoRow>of("<span>${unsafeHTML(item.value)}</span>") .withProperty("value", DetailInfoRow::getValue)) .setTextAlign(ColumnTextAlign.START);
注意:
unsafeHTML会跳过转义,所以必须确保value字段的内容是可信的(比如来自内部系统生成,而非用户输入),否则可能存在XSS攻击风险。如果内容来自不可信来源,需要先对HTML进行过滤清理。
内容的提问来源于stack exchange,提问作者alespour
相关产品推荐
相关产品推荐

