Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 使用JSTL将字符串的某个元素更改为可单击的链接_Jsp_Jstl - Fatal编程技术网

Jsp 使用JSTL将字符串的某个元素更改为可单击的链接

Jsp 使用JSTL将字符串的某个元素更改为可单击的链接,jsp,jstl,Jsp,Jstl,我正在尝试复制Twitter。现在,我正试图显示用户发布为可点击链接的任何“hashtags”。我要做的是拆分字符串,如果第一个字符以磅符号开头,则将其包装在锚标记中。目前我在控制器上有代码,但想知道是否有一种方法可以让我在视图页面上的JSTL中这样做 Transmit tmit = tService.findTransmit(usern.getId()); String post = tmit.getContent().toString(); S

我正在尝试复制Twitter。现在,我正试图显示用户发布为可点击链接的任何“hashtags”。我要做的是拆分字符串,如果第一个字符以磅符号开头,则将其包装在锚标记中。目前我在控制器上有代码,但想知道是否有一种方法可以让我在视图页面上的JSTL中这样做

        Transmit tmit = tService.findTransmit(usern.getId());
        String post = tmit.getContent().toString();
        String[] split = post.split(" ");
        for (int i = 0; i < split.length; i++) {
            if (split[i].charAt(0) == '#'){
                split[i] = "<a href='/search'>" + split[i] + "</a>";
            }           
        }
        String joined = String.join(" ", split);  
传输tmit=tService.findTransmit(usern.getId()); 字符串post=tmit.getContent().toString(); String[]split=post.split(“”); 对于(int i=0;i 在JSTL中是否有这样做的方法?目前,我正在将所有帖子添加到我的模型中,并循环浏览所有帖子:

<c:forEach var="post" items="${posts}">
<c:out value="${post.user.name}"/>
<c:out value="${post.content}" />
</c:forEach>


我的想法是在
${post.content}
上循环,有什么方法可以实现吗?任何想法都将不胜感激

没有直接的JSTL方法/标记可以用锚定的hashTags替换hashTags数据。但是您可以定义自己的JSTL标记,它可以为您完成这项工作。e、 g

创建一个类,该类包含替换哈希标记数据的方法 锚定标签

在标记库描述符中包含此类


这就像一种魅力,比我最初想的要简单得多。非常感谢。
 public class HashtagFunctions {  

    public static String replaceHashTags(String s) {
          //Use your existing code of replacing hashtags
    }
}
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" version="2.0">  

    <tlib-version>1.0</tlib-version>  
    <short-name>myfn</short-name>  
    <uri>http://www.whatever.com/taglib/trlbt</uri>  

    <function>    
        <name>replaceHashTags</name>    
        <function-class>
            qualified.path.of.tld.class.HashtagFunctions
        </function-class>    
        <function-signature>    
            String replaceHashTags(String s)
        </function-signature>  
    </function> 

    <!-- more functions -->

</taglib>
${myfn:removeTags(${post.content})}