如何为arraylist中的每个单词添加“span”<span> </span>?

时间:2016-11-03 05:36:57

标签: java html jsp

我有一个arraylist

  ArrayList al = new ArrayList();
  al.add("tree good has");
  al.add("ok go by");
  al.add("see good");
  al.add("dog");

如何为每个单词添加“span”???例如:

  <li> 
     <span>tree</span>  
     <span>good</span> 
     <span>has</span> 
  </li>
  <li> 
     <span>ok</span>  
     <span>go</span> 
     <span>by</span> 
  </li>
  <li> 
     <span>see</span>  
     <span>good</span> 
  </li>
  <li> 
     <span>dog</span> 
  </li>
我试过的是: 这句话的结果是错误的。因为结果是为每一行添加“span”,而不是earch word。

 <% for (int i=0; i<  al.size();i++){ %>
    <li><span><%=al.get(i) %><br></span></li>  
 <%} %> 

如何为每个单词添加“span”???

4 个答案:

答案 0 :(得分:1)

您需要进一步将每一行拆分为单词。查找以下代码 -

<% for (int i=0; i<  al.size();i++){
%>
   <li>
<%
     for(int j=0;j<al.get(i).split(" ").length;j++){
 %>
        <span><%=al.get(j) %><br></span>  
<%   }%>
   </li> 
<%}%>

答案 1 :(得分:1)

您可以使用split方法并添加内部循环以获得所需的结果。它看起来像

<% for (int i=0; i<  al.size();i++){ 
String[] splitArray = al.get(i).split();%><li>
<% for (int j=0; j<  splitArray.length;j++){ %>
   <span><%=splitArray[j] %></span>  

    <%} %>
</li>
<%} %> 

答案 2 :(得分:1)

 <% for (int i=0; i<  HighlightTermList.size();i++){ %> 
  <li>  <%String str=HighlightTermList.get(i); %> 
      <% String[] splitArray = str.split(" ");
         for(int j=0;j<splitArray.length;j++){ %>
            <span><%=splitArray[j] %></span>
   <%} %> 
   </li>

 <%} %>

我将两个答案结合在一起。我工作了

答案 3 :(得分:1)

您可以使用JSTL解决此问题。 JSTL是在jsp页面中使用java操作的更好方法。首先,您需要将所需的库导入到jsp中。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <body>
        <ul>
            <c:forEach items="${al}" var="mWord">
                <li>
                    <c:forEach items="${fn:split(mWord,' ')}" var="word">
                        <span>${word}</span>
                    </c:forEach>
                </li>
            </c:forEach>
        </ul>
    </body>
</html>

您可以在此link中了解JSTLJSP Scriptlet之间的详细差异和优势。