JSTL表达式加字符串的正确写法

Right way to write a JSTL expression plus a string

大家好,如果这是一个愚蠢的问题,我深表歉意,但我找不到任何有关如何执行此操作的示例。

我目前的表情是${fn:substringBefore(var1, \"@\")}@domain.com

我一直在尝试多种方法在末尾添加“@domain”字符串,但 none 似乎可行。

你能告诉我这是否至少可行吗?

免责声明:我从未使用过 JSTL,但我通过阅读在线提供的资料学习了很多技术,其中大部分是单独学习的。所以这个答案更多的是关于当我被卡住时解决这些问题所涉及的思维过程。

学习新技术时,通常最好从文档和示例开始。在这种情况下,只需搜索 jstl fn:substringBefore 我发现 this page where fn-substringbefore section 有以下示例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>  
<html>  
<head>  
<title>Using JSTL Function </title>  
</head>  
<body>  
<c:set var="string" value="Hi, This is JAVATPOINT.COM developed by SONOO JAISWAL."/>  
${fn:substringBefore(string, "developed")}  
</body>  
</html>  

所以似乎应该通过引用字符串(在示例的前一行中找到)来使用此函数,该字符串将在第二个参数处拆分,返回拆分的第一部分。

另外 "-s 在示例中没有转义,所以我会尝试类似的方法。

${fn:substringBefore(referenceToFullEmailAddress, "@")}

所有这一切都假设您要实现的是检索电子邮件地址的第一部分,在 @domain.com 部分之前。 这也是为什么在您的问题中包含更多上下文始终是一个好习惯的原因。