Java°æµÄʵÏÖJavaScriptÖеÄeval()º¯Êý
ʵÏÖ²½Ö裺
1.×Ô¶¨ÒåÒ»¸öJavaÀ࣬¸ÃJavaÀàÖж¨ÒåÒ»¸ö·½·¨À´°üº¬ÐèÒª±»ÔËÐеĴúÂë¡£
2.¶¯Ì¬±àÒë¸Õ¸ÕÉú³ÉµÄJavaÔ´Â룬²»ÔÚ´ÅÅÌÉÏÉú³ÉÔ´Â룬¶øÊÇÖ±½Ó±àÒëÄÚ´æÖеÄJavaÔ´Âë¡£
3.¶¯Ì¬¼ÓÔØ¸Õ¸Õ´´½¨±àÒëµÄJava¶þ½øÖÆÂ룬±àÒëºÃµÄJava¶þ½øÖÆÂë²»ÊÇÔÚ´ÅÅÌÉÏ£¬¶øÊÇ·ÅÔÚÄÚ´æÖУ¬²¢¶¨Òå×Ô¼ºµÄÀà¼ÓÔØÆ÷£¬¸ºÔð¼ÓÔØÄÚ´æÖеÄclassÎļþ¡£
4.ͨ¹ý·´ÉäÔËÐÐǰһ²½¼ÓÔØµÄÀà¡£
import java.util.Arrays;
import javax.tools.SimpleJavaFileObject;
import javax.tools.JavaFileObject;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
import javax.tools.DiagnosticCollector;
import java.net.URI;
/**
* Description:
* <br/>ÍøÕ¾: <a href="http://www.crazyit.org" mce_href="http://www.crazyit.org">·è¿ñJavaÁªÃË</a>
* <br/>Copyright (C), 2001-2010, Leeyohn
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Leeyohn leeyohn@hotmail.com
* @version 1.0
*/
public class MyClassLoader
extends ClassLoader
{
@Override
public Class<?> findClass(String str) throws ClassNotFoundException
{
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
//ÓÃÓÚÕï¶ÏÔ´´úÂë±àÒë´íÎóµÄ¶ÔÏó
DiagnosticCollector diagnostics = new DiagnosticCollector();
//ÄÚ´æÖеÄÔ´´úÂë±£´æÔÚÒ»¸ö´ÓJavaFileObject¼Ì³ÐµÄÀàÖÐ
JavaFileObject file = new JavaSourcefromString("Temp", str.toString());
Iterable compilationUnits = Arrays.asList(file);
//½¨Á¢Ò»¸ö±àÒëÈÎÎñ
JavaCompiler.CompilationTask task = compiler.getTask(null, null, null, null, null, compilationUnits);
//±àÒëÔ´³ÌÐò
boolean result = task.call();
if (result)
{
return Class.forName("Temp");
}
return null;
}
}
class JavaSourcefromString extends SimpleJavaFileObject
{
private String name;
private String code;
public JavaSourcefromString(String name, String code)
{
super(URI.create("strin
Ïà¹ØÎĵµ£º
¼¸Ììǰ£¬¸Õ¿´ÁËIBM DeveloperworksÉÏij¸ö¼¼Êõ´óÅ£×öµÄ¹ØÓÚÉè¼ÆREST·ç¸ñµÄJava MVC¿ª·¢¿ò¼ÜµÄÎÄÕ£¬½ñÌìÔÚGoogle CodeÉÏ·¢ÏÖÁËÒ»¸ö»ùÓÚJavaµÄREST·ç¸ñµÄMVC¿ª·¢¿ò¼Ü£¬È¡ÃûWebWind
¡£
“WebWindÊÇÒ»¸öJava MVC¿ò¼Ü¡£ºÍ³£¼ûµÄMVC¿ò¼ÜÈçStruts¡¢WebWork²»Í¬£¬WebWindÌìÉúÖ§³ÖÓû§ÓѺõÄURL£¬ÈÃWebÓ¦ÓóÌÐò¶ÔËÑË÷ÒýÇæ¸ü¼Ó ......
package reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
try {
Class c = Class.forName("reflect.Student");// ¸ù¾ÝÀàµÄÍêÕûÀàÃû´´½¨ÀàÏó
  ......
ʲôÊÇFirebug
´ÓÊÂÁËÊýÄêµÄWeb¿ª·¢¹¤×÷£¬Ô½À´Ô½¾õµÃÏÖÔÚ¶ÔWEB¿ª·¢ÓÐÁ˸ü¸ßµÄÒªÇó¡£ÒªÐ´³öƯÁÁµÄHTML´úÂ룻Ҫ±àд¾«ÖµÄCSSÑùʽ±íչʾÿ¸öÒ³ÃæÄ£¿é£»Òªµ÷ÊÔjavascript¸øÒ³ÃæÔö¼ÓһЩ¸ü»îÆÃµÄÒªËØ£»ÒªÊ¹ÓÃAjax¸øÓû§´øÀ´¸üºÃµÄÌåÑé¡£Ò»¸öÓÅÐãµÄWEB¿ª·¢ÈËÔ±ÐèÒª¹Ë¼°¸ü¶à²ãÃæ£¬²ÅÄܽ»³öÒ»·ÝͬÑùÓÅÐãµÄ×÷Òµ¡£Îª°ïÖú¹ã´óÕý´¦ÓÚW ......
1.Ajax Rain
¡¡¡¡AjaxRainÓкܶàÍêÃÀÕûºÏAJAX, CSS, DHTML »ò JavascriptµÄʵÀý£¬ÓÐһЩDemoµÄÈ·ÖµµÃÄãÈ¥¿´Ò»¿´£¬¼´Ê¹Äã²»ÊÇÍøÒ³Éè¼Æ(¿ª·¢)ʦ¡£
Ajax/JavascriptʵÀý:
EXT JS Date Picker
jQuery Feed Menu
jGrowl
FastFind Menu – Jquery
Spiffy Accordion
2.Ajax Daddy
¡¡¡ ......
*------------------------------------------------------
*˵Ã÷£ºselectÔªËØjavascript³£ÓòÙ×÷
* 1.ÅжÏÊÇ·ñ´æÔÚÖ¸¶¨valueµÄItem
* 2.¼ÓÈëÒ»¸öItem
* 3.ɾ³ýֵΪvalueµÄËùÓÐItem
* 4.ɾ³ýijһ¸öindexµÄÑ¡Ïî
  ......