gpt4 book ai didi

jsf - 连接在 Facelets 标记的属性中定义的 EL 表达式中的字符串

转载 作者:行者123 更新时间:2023-12-03 07:22:20 26 4
gpt4 key购买 nike

我需要为属性编写一个 EL 表达式,如下所示:

#{cc.attrs.appreciatedByCurrentUser ? (cc.attrs.count +'<br/>'+ (cc.attrs.count-1)) : ((cc.attrs.count+1) +'<br/>'+ cc.attrs.count)}

现在的问题是,这会产生错误,因为字符串无法按照我的方式连接。那么我该如何纠正这个问题呢?

我正在使用带有 Facelets 的 JSF 2.0。

<小时/>

编辑:

我正在使用以下内联 JavaScript 解决该问题

            <script type="text/javascript">
var count=#{cc.attrs.count};
document.write(#{cc.attrs.appreciatedByCurrentUser} ? (count-1) +'<br/>'+count : count+'<br/>'+ (count+1));
</script>

你能想到这有什么问题吗?

最佳答案

可以使用 java.lang.String.concat(String) 方法在 EL 中连接字符串。因此您的代码可能如下所示:

<h:outputText value="#{cc.attrs.appreciatedByCurrentUser ?  (''.concat(cc.attrs.count).concat('&lt;br/&gt;').concat(cc.attrs.count-1)) :  (''.concat((cc.attrs.count+1)).concat('&lt;br/&gt;').concat(cc.attrs.count))}" escape="false" />

但是在这种特殊情况下,我会选择 BalusC 先生建议的选项之一,因为上面的代码看起来不太优雅。但在某些情况下,了解这种技术可能会有用。

我几乎不建议使用 javascript 作为解决方法。

关于jsf - 连接在 Facelets 标记的属性中定义的 EL 表达式中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7386133/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com