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
Ïà¹ØÎĵµ£º
scrollHeight: »ñÈ¡¶ÔÏóµÄ¹ö¶¯¸ß¶È¡£
scrollLeft:ÉèÖûò»ñȡλÓÚ¶ÔÏó×ó±ß½çºÍ´°¿ÚÖÐĿǰ¿É¼ûÄÚÈݵÄ×î×ó¶ËÖ®¼äµÄ¾àÀë
scrollTop:ÉèÖûò»ñȡλÓÚ¶ÔÏó×î¶¥¶ËºÍ´°¿ÚÖпɼûÄÚÈݵÄ×î¶¥¶ËÖ®¼äµÄ¾àÀë
scrollWidth:»ñÈ¡¶ÔÏóµÄ¹ö¶¯¿í¶È
offsetHeight:»ñÈ¡¶ÔÏóÏà¶ÔÓÚ°æÃæ»òÓɸ¸×ø±ê offsetParent ÊôÐÔÖ¸¶¨µÄ¸¸×ø±êµÄ¸ß¶È
offsetL ......
ÎÄÕ³ö×Ô yiding-he.javaeye.com
JavaScript ÊÇÃæÏò¶ÔÏóµÄ¡£µ«ÊDz»ÉÙÈ˶ÔÕâÒ»µãÀí½âµÃ²¢²»È«Ãæ¡£
ÔÚ JavaScript ÖУ¬¶ÔÏó·ÖΪÁ½ÖÖ¡£Ò»ÖÖ¿ÉÒÔ³ÆÎª“ÆÕͨ¶ÔÏ󔣬¾ÍÊÇÎÒÃÇËùÆÕ±éÀí½âµÄÄÇЩ£ºÊý×Ö¡¢ÈÕÆÚ¡¢Óû§×Ô¶¨ÒåµÄ¶ÔÏó£¨È磺{}£©µÈµÈ¡£
»¹ÓÐÒ»ÖÖ£¬³ÆÎª“·½·¨¶ÔÏ󔣬¾ÍÊÇÎÒÃÇͨ³£¶¨ÒåµÄ function¡ ......
ÄäÃûº¯Êý
º¯ÊýÊÇJavaScriptÖÐ×îÁé»îµÄÒ»ÖÖ¶ÔÏó£¬ÕâÀïÖ»Êǽ²½âÆäÄäÃûº¯ÊýµÄÓÃ;¡£ÄäÃûº¯Êý£º¾ÍÊÇûÓк¯ÊýÃûµÄº¯Êý¡£
1¡¢º¯ÊýµÄ¶¨Ò壬Ê×Ïȼòµ¥½éÉÜһϺ¯ÊýµÄ¶¨Ò壬´óÖ¿ɷÖΪÈýÖÖ·½Ê½
µÚÒ»ÖÖ£ºÕâÒ²ÊÇ×î³£¹æµÄÒ»ÖÖ
function double( x ){
return 2 * x;
}
µÚ¶þÖÖ£ºÕâÖÖ·½·¨Ê¹ÓÃÁËFunc ......
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
¡¡¡ ......
¸Õ´ÓÍøÉÏ¿´µ½cºÍjava»ì±àµÄÎÄÕ£¬¾Íؽ²»¿É´ýµÄ³¢ÊÔÁËһϡ£ºÇºÇ£¬Ð§¹û»¹ÊǺܺõġ£ÏÂÃæ½«×Ô¼º³É¹ûÕ³Ìù³öÀ´
£¨×ªÔØÓÚhttp://www.zxbc.cn/html/20070518/19986.html£©¡£ÊµÑéÖ®ºó¿ÉÒÔͨ¹ý¡£
1javaÖе÷ÓÃcÓïÑÔ
Ê×ÏȱàдMain.java
public class Main
{
public native static int getStrNum(byte str[], int s ......