如何在JSTL中正确分割字符串?
如何使用JSTL在jsp页面内拆分用“ /”分隔的字符串?
我有以下格式的字符串:**
“ 23/11/2010”
- 。 有时,字符串可能是这样的:*
“ 2010年1月1日”
- 。 我需要做一些事情才能将字符串分成三个不同的子字符串:*
“ 23”,“ 11”,“ 2010”。
**这是因为我需要将它们每个都放在三个不同的文本字段中,如下所示:
<input type="text" value="23">/<input type="text" value="11">/
<input type="text" value="2010">
我找不到任何有效的示例。
提前致谢!
回答:
您可以使用此fn:split()
功能。
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<c:set var="dateParts" value="${fn:split(dateString, '/')}" />
...
<input type="text" name="day" value="${dateParts[0]}" />
<input type="text" name="month" value="${dateParts[1]}" />
<input type="text" name="year" value="${dateParts[2]}" />
请确保日期格式事先经过验证:)如果日期格式是a java.util.Date
而不是a
,则会更容易java.lang.String
。然后,您可以<fmt:formatDate>
先将其格式化为可靠且固定的字符串格式。否则,您将需要添加对数组长度的检查,fn:length()
并通过来防止潜在的XSS攻击漏洞fn:escapeXml()
。
还要注意的重要一点是,该函数将正则表达式用作参数,而不仅仅是纯字符序列。因此,如果您想分割表示正则表达式中特殊字符的字符,则需要用反斜杠将其转义。
以上是 如何在JSTL中正确分割字符串? 的全部内容, 来源链接: utcz.com/qa/412777.html