Java ELϵÁÐ 2.JUEL¿ìËÙÈëÃÅ
¡¡¡¡inkfish·Ò룬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish
£©¡£±¾ÎÄÊÇÎÒѧϰJUELͬʱ£¬¶ÔÔÍøÕ¾½øÐеļòµ¥µÄ·Ò룬ÔÍøÕ¾µØÖ·£ºhttp://juel.sourceforge.net/guide/start.html
¡£
¿ìËÙÈëÃÅ
¡¡¡¡JUEL
·¢Ðаæ°üº¬ÏÂÃæÒ»Ð©jarÎļþ£º£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
¡¡¡¡1.juel-api-2.2.x.jar
——°üº¬javax.el
°üϵÄһЩÀà
¡¡¡¡2.juel-impl-2.2.x.jar
——°üº¬de.odysseus.el
ʵÏÖÀà
¡¡¡¡3.juel-spi-2.2.x.jar
——°üº¬META-INF/service/javax.el.ExpressionFactory
·þÎñÌṩ×ÊÔ´µÄ¶¨Ò壨Èç¹ûÄãµÄclasspathÀïÓжà¸öELµÄʵÏÖ£¬¶øÄãÓÖÏ£ÍûʹÓÃJUELµÄʵÏÖ£¬ÄÇôÐèÒªµ÷ÓÃExpressionFactory.newInstance()
£©
¡¡¡¡4.juel-2.2.x.jar
——°üº¬java.el
°üϵÄÀ࣬²¢ÇÒ°üº¬de.odysseus.el
ϵÄʵÏÖÀ࣬¶øÇÒ»¹ÓзþÎñÌṩ½Ó¿Ú£¨spi£©
¡¡¡¡Ò²¾ÍÊÇ˵£ºjuel-2.2.x.jar = juel-api-2.2.x.jar + juel-impl-2.2.x.jar + juel-spi-2.2.x.jar
¡££¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
¡¡¡¡ÏÂÃæÊÇËùÓÐÄãÔÚÄãµÄÓ¦ÓÃÖÐʹÓÃELËùÐèÒªµÄ£¨¼ÙÉèÄãÒѾ°Ñjuel-2.2.x.jar
·Åµ½classpathÏ£¬²¢ÇÒµ¼ÈëÁËjavax.el.*
£©£º£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
¡¡¡¡1.¹¤³§ºÍÉÏÏÂÎÄ£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
//ExpressionFactoryÀàµÄʵÏÖÊÇde.odysseus.el.ExpressionFactoryImpl
ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
//de.odysseus.el.util provides°üÌṩ¼´Ê±¿ÉÓõÄ×ÓÀàELContext
de.odysseus.el.util.SimpleContext context = new de.odysseus.el.util.SimpleContext();
¡¡¡¡2. º¯ÊýºÍ±äÁ¿£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
//ÉèÖÃmapº¯Êýmath:max(int, int)ʹÓÃjava.lang.Math.max(int, int)
context.setFunction("math", "max", Math.class.getMethod("max", int.class, int.class));
//map±äÁ¿fooÉèÖÃΪ0
context.setVariable("foo", factory.createValueExpression(0, int.class));
¡¡¡¡3. ½âÎöºÍÇóÖµ£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
//½âÎö±í´ïʽ
ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", int.class);
//ÉèÖö¥¼¶µÄÊôÐÔ"bar"ֵΪ1
factory.createValueExpression(context, &qu
Ïà¹ØÎĵµ£º
ÒªÏëѧºÃJava£¬Ê×ÏÈÒªÖªµÀJavaµÄ´óÖ·ÖÀà¡£ÎÒÃÇÖªµÀ£¬×Ô´ÓSunÍÆ³öJavaÒÔÀ´£¬¾ÍÁ¦Í¼Ê¹Ö®ÎÞËù²»°ü£¬ËùÒÔJava·¢Õ¹µ½ÏÖÔÚ£¬°´Ó¦ÓÃÀ´·ÖÖ÷Òª ·ÖΪÈý´ó¿é£ºJ2SE,J2MEºÍ J2EE,ÕâÒ²¾ÍÊÇSun ONE(Open Net Environment)Ìåϵ¡£J2SE¾ÍÊÇJava2µÄ±ê×¼°æ£¬Ö÷ÒªÓÃÓÚ×ÀÃæÓ¦ÓÃÈí¼þµÄ±à³Ì£»J2MEÖ÷ÒªÓ¦ÓÃÓÚǶÈëÊÇϵͳ¿ª·¢£¬ÈçÊÖ»úºÍPDAµÄ±à ³Ì£» ......
public class Test{
public static void main(String args[]){
System.out.println("This is a test program.");
}
}
½«ÉÏÃæµÄÕâ¶Î³ÌÐò±£´æÎªÎļþÃûΪTest.javaµÄÎļþ¡£
È»ºó´ò¿ªÃüÁîÌáʾ·û´°¿Ú£¬cdµ½ÄãµÄTest.javaËùÔÚĿ¼£¬È»ºó¼üÈëÏÂÃæµÄÃüÁî
javac Test.java
³ö´í:
Àà Test Êǹ«¹²µÄ£¬Ó¦ ......
ÍøÉÏJAVAµ÷ÓÃDLLµÄÎÄÕ²»ÉÙÁË£¬µ«·¢ÏÖÓÐЩ»¹ÊÇÓÐÎÊÌâ¡£¸ÕºÃÑо¿ÁËһϣ¬ÉÔ×ö¸ü¸Äºó£¬ÔÚVC2005ÉϲâÊÔͨ¹ý£¬£¨ReleaseºÍDebug°æ±¾¾ù¿É£©¡£
¸ü¸Äµã£º
1¡¢#include "jni.h"
2¡¢½«jni_md.hÖеģº#define JNICALL __stdcall±äΪ£º#define JNICALL __cdecl (º¯ÊýʹÓõÄÓ¦¸ÃÊÇcÓïÑÔµÄȱʡµ÷Ó÷½Ê½_cdecl·½Ê½£¬·ñÔòDLLÀ ......
ÈçºÎÓÃJava»ñµÃÒ»¸öÓòÃûµÄIPµØÖ·ÄØ£¿ÌṩÕâ¸ö¹¦ÄܵÄÀà½Ð×öjava.net.InetAddress¡£ÎÒÃǼÙÉèÏÖÔÚÓÐÕâÑùÒ»¸öÓòÃû£¬ËüÓÃÒ»¸ö¾²Ì¬µÄ
getByNameÀ´ÖØÐ»ñµÃÒ»¸öInetAddress£¬È»ºóµÃµ½¿ÉÒÔ¶Á³öµÄIPµØÖ·¡£ÏÂÃæµÄ´úÂëÊǷdz£»ù±¾µÄÃüÁîÐС£
import java.net.InetAddress;
import java.net.Unknow ......
ÉùÃ÷£º±¾ÎIJ¢·Ç±¾ÈËËùд£¬ÊÇÍøÉÏ¿´µ½µÄ£¬µ«ÊǸÃÎÄûÓбêÃ÷³ö´¦£¬ËùÒÔ±¾ÈËÒ²²»ÖªµÀ
×÷ΪJava³ÌÐòÔ±À´Ëµ£¬×îÍ´¿àµÄÊÂÇéιýÓÚ¿ÉÒÔÑ¡ÔñµÄ·¶Î§Ì«¹ã£¬¿ÉÒÔ¶ÁµÄÊéÌ«¶à£¬ÍùÍùÈÝÒ×ÎÞËùÊÊ´Ó¡£ÎÒÏë¾ÍÎÒ×Ô¼º¶Á¹ýµÄ¼¼ÊõÊé¼®ÖÐÌôÑ¡³öÀ´Ò»Ð©£¬°´ÕÕѧϰµÄÏȺó˳Ðò£¬ÍƼö¸ø´ó¼Ò£¬ÌرðÊÇÄÇЩÏë²»¶ÏÌá¸ß×Ô¼º¼¼ÊõˮƽµÄJava³ÌÐòÔ±ÃÇ¡£
Ò»¡¢ ......