当前页面: 开发资料首页 → Java 专题 → 给URL字符串加超链接
给URL字符串加超链接
摘要: 给URL字符串加超链接
</td>
</tr>
<tr>
<td height="35" valign="top" class="ArticleTeitle"><table width="738" border="0">
<tr>
<td width="732">
</td>
</tr>
</table>
在读取表单数据时,如果我们想过滤用户提交的文本,给其中的url字符串添加超链接,那么下面代码使我们很容易实现这个功能,代码摘自jive1.4中的FilterURLConverter.java,站长整理。
package example;
public class FilterURLConverter{
private String convertURL( String input ) {
//Check if the string is null or zero length -- if so, return
//what was sent in.
if( input == null || input.length() == 0 ) {
return input;
}
else {
StringBuffer buf = new StringBuffer();
int i = 0, j = 0, oldend = 0;
int len = input.length();
char cur;
while ( ( i=input.indexOf( "http://", oldend) ) >= 0 ) {
j=i+7;
cur = input.charAt(j);
while (j < len) {
//Is a space?
if (cur == ' ') break;
//Is html?
if (cur == '<') break;
//Is a Win32 newline?
if (cur == '\n') break;
//Is Unix newline?
if (cur == '\r' && j
break;
j++;
if (j
cur = input.charAt(j);
}
}
buf.append(input.substring(oldend,i));
buf.append("
buf.append(input.substring(i,j));
buf.append("\">");
buf.append(input.substring(i,j));
buf.append("");
oldend = j;
}
buf.append(input.substring(j,len));
return buf.toString();
}
}
public static void main(String args[]){//测试
String s="my school home is http://10.10.l.1 OK OK";
FilterURLConverter f=new FilterURLConverter();
System.out.println(f.convertURL(s));
}
}
运行结果:
C:\java>javac FilterURLConverter.java
C:\java>java FilterURLConverter
my school home is http://10.10.l.1 OK OK
在jsp中可以这样测试:
<%@ page import="example.*" %>
<%@ page contentType="text/html;charset=gb2312" %>
<head>
无标题文档
</head>
<body>
<form name="form1" method="post" action="">
你的主页URL地址:
<input type="text" name="url">
<input type="submit" name="Submit" value="提交">
</form>
<%
FilterURLConverter f=new FilterURLConverter();
String url=request.getParameter("url");
if(url!=null){
url=new String(url.getBytes("ISO8859_1"));
String filterurl=f.convertURL(url);
out.println("你的主页是:"+filterurl);
}
%>
</body>
function TempSave(ElementID)
{
CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value);
CommentsPersistDiv.save("CommentXMLStore");
}
function Restore(ElementID)
{
CommentsPersistDiv.load("CommentXMLStore");
document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent");
}
</td>
</tr>
<tr>
↑返回目录
前一篇: 用JSP创建可重用的图形背景
后一篇: 为servlet与jsp页面分配名称和定制URL