我有一个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”???
答案 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中了解JSTL
和JSP Scriptlet
之间的详细差异和优势。