江西广告网

标题: 过滤特殊字符 [打印本页]

作者: 重庆痞子    时间: 2009-2-17 10:57
标题: 过滤特殊字符
public static String encoding(String src){ if (src==null) return ""; StringBuilder result=new StringBuilder(); if (src!=null){ src=src.trim(); for (int pos=0;pos<src.length();pos ){ switch(src.charAt(pos)){ case '\"':result.append(""");break; case '<':result.append("<");break; case '>':result.append(">");break; case '\'':result.append("&apos;");break; case '&':result.append("&");break; case '%':result.append("&pc;");break; case '_':result.append("&ul;");break; case '#':result.append("&shap;");break; case '?':result.append("&ques;");break; default:result.append(src.charAt(pos));break; } } } return result.toString(); } //反过滤特殊字符 public static String decoding(String src){ if (src==null) return ""; String result=src; result=result.replace(""", "\"").replace("&apos;", "\'"); result=result.replace("<", "<").replace(">", ">"); result=result.replace("&", "&"); result=result.replace("&pc;", "%").replace("&ul", "_"); result=result.replace("&shap;", "#").replace("&ques", "?"); return result; } [1] [2] //利用反射调用一个继承层次上的函数族,比如安装程序,有安装数据库的,安装文件系统的等,命名均已“install”开始,你就可以将参数part设为“install”,src是其实类实例,root是终止父类 public static <T> void invokeMethods(String part,T src,Class root) throws ExceptionManager{ if (root!=null){ if (!root.isInstance(src))return; root=(Class)root.getGenericSuperclass(); } HashMap<String,Method> invokees=new HashMap<String,Method>(); Class target=src.getClass(); do{ Method [] methods=target.getDeclaredMethods(); for (Method method:methods){ String mn=method.getName(); Boolean isPass=mn.startsWith(part); if (isPass){ Integer nopt=method.getParameterTypes().length; Boolean isStatic=Modifier.isStatic(method.getModifiers()); if ((nopt==0)&&(!isStatic)){ if (!invokees.containsKey(mn)) invokees.put(mn, method); } } } target=(Class)target.getGenericSuperclass(); }while(target!=root); Iterator<String> methods=invokees.keySet().iterator(); while (methods.hasNext()){ Method invokee=invokees.get(methods.next()); Boolean access=invokee.isAccessible(); invokee.setAccessible(true); try { invokee.invoke(src); } catch (InvocationTargetException e) { throw ExceptionManager.wrap(e.getTargetException()); }catch (Exception e){} invokee.setAccessible(access); } } 上一页 [1] [2]




欢迎光临 江西广告网 (http://bbs.jxadw.com/) Powered by Discuz! X3.2