1 16 package org.getahead.dwrdemo.asmg; 17 18 import java.util.StringTokenizer ; 19 20 import org.directwebremoting.Security; 21 22 36 public class Generator 37 { 38 44 public String generateAntiSpamMailto(String name, String email) 45 { 46 StringTokenizer st = new StringTokenizer (email, "@"); 47 if (Security.containsXssRiskyCharacters(email) || st.countTokens() != 2) 48 { 49 throw new IllegalArgumentException ("Invalid email address: " + email); 50 } 51 52 String before = st.nextToken(); 53 String after = st.nextToken(); 54 55 StringBuffer buffer = new StringBuffer (); 56 57 buffer.append("Contact "); 58 buffer.append(Security.replaceXmlCharacters(name)); 59 buffer.append(" using: <span id=\"asmgLink\"></span>\n"); 60 buffer.append("<script type='text/javascript'>\n"); 61 62 buffer.append("var before = '"); 63 buffer.append(before); 64 buffer.append("';\n"); 65 66 buffer.append("var after = '"); 67 buffer.append(after); 68 buffer.append("';\n"); 69 70 buffer.append("var link = \"<a HREF='mail\" + \"to:\" + before + '@' + after + \"'>\" + before + '@' + after + \"</a>\";\n"); 71 72 buffer.append("document.getElementById(\"asmgLink\").innerHTML = link;\n"); 73 buffer.append("</script>\n"); 74 buffer.append("<noscript>["); 75 buffer.append(before); 76 buffer.append(" at "); 77 buffer.append(after); 78 buffer.append("]</noscript>\n"); 79 80 return buffer.toString(); 81 } 82 } 83 | Popular Tags |