**
使用jsp,tag提取字符串中的單詞
**
JSP中調用Tag
在表單中輸入字符串,提取其中的單詞
參考代碼:
giveString.jsp
<%@ page contentType="text/html; charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="words" %> <!-- 引入標記庫 -->
<body bgcolor=pink>
<form action="" method=get name=form>
請輸入字符串:<input type="text" name="a">
<input type="submit" name=submit value="提取"></form>
<% String s=request.getParameter("a"); <!-- 取表單中輸入的值 -->
%>
字符串<words:WordList str="<%=s %>"></words:WordList>
<br><h3><%=s%><br></h3>中的全部單詞解析爲:
<%
for(int i=0;i<wordList.size();i++){
out.print("<br>"+wordList.get(i));
}
%>
</body>
</html>
WordList.tag
<%@ tag pageEncoding="gb2312" %>
<%@ tag import="java.util.*" %>
<%@ attribute name="str" required="true" %>
<%@ variable name-given="wordList"
variable-class="java.util.ArrayList" scope="AT_END" %>
<%
ArrayList<String> list=new ArrayList<String>(); //返回給JSP頁面的list對象
String regex="[\\s\\d\\p{Punct}]+"; //空格、數字和符號(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)組成的正則表達式
String words[]=str.split(regex);
for(int i=0;i<words.length;i++){
list.add(words[i]);
}
jspContext.setAttribute("wordList",list); ////將list對象返回給JSP頁面
%>