String 为什么我的百里香弦不起作用?
我正在处理的html上有一个表,对于一列,我希望最多显示30个字符(因为它可能很长)。下面是我的代码,但它不工作,我不知道为什么。如有任何建议,将不胜感激。提前感谢:)String 为什么我的百里香弦不起作用?,string,substring,thymeleaf,String,Substring,Thymeleaf,我正在处理的html上有一个表,对于一列,我希望最多显示30个字符(因为它可能很长)。下面是我的代码,但它不工作,我不知道为什么。如有任何建议,将不胜感激。提前感谢:) 要使类似的内容起作用,您需要考虑那些可能小于30个字符限制的字符串。在这种情况下,上述方法将失败(使用Java) 围绕这一点有不同的方法。一种方法是使用Thymeleaf“if/else”语法((if);(then):(else))来处理此问题,例如: <block th:with="kwd=${history.
要使类似的内容起作用,您需要考虑那些可能小于30个字符限制的字符串。在这种情况下,上述方法将失败(使用Java) 围绕这一点有不同的方法。一种方法是使用Thymeleaf“if/else”语法(
(if);(then):(else)
)来处理此问题,例如:
<block th:with="kwd=${history.keyword}, len=${#strings.length(history.keyword)}">
<span th:text=" ( ${len > 30} )
? ${#strings.substring(kwd,0,30)} + '…'
: ${kwd}"></span>
</block>
我在上述方法中使用的另一件事是
th:with
创建两个变量:kwd
和len
,以使if/else语句更具可读性。您是否面临任何错误?另外,在将其发送到Thymeleaf页面之前,您也可以这样做。尽管这不是问题的答案,但您不应该使用Thymeleaf进行带省略号的字符串截断,因为不同的字母在px中的宽度不同,除非您使用单字体。相反,您应该考虑一个简单的CSS方法来截断字符串以适合列。非常感谢您的评论。我发现我的代码不起作用的原因是因为我没有调整字母的长度。非常感谢你的评论!正如你所写的,不工作的原因是我没有考虑信的长度。现在我让代码工作了。再次感谢!
<block th:with="kwd=${history.keyword}, len=${#strings.length(history.keyword)}">
<span th:text=" ( ${len > 30} )
? ${#strings.substring(kwd,0,30)} + '…'
: ${kwd}"></span>
</block>