Avatar billede kernelx Juniormester
23. august 2008 - 18:41 Der er 4 kommentarer og
1 løsning

udfoere java-code, som er i en string?

Hi,

er det muligt at udfoere java-code, som er i en string?

+++
String javaCode = "if ( 1==1 ) { System.out.println( \"test.\" ); }";
// java.stringaction.run( javaCode ); ???
+++

med venlig hilsen
KernelX
Avatar billede arne_v Ekspert
23. august 2008 - 18:48 #1
Ikke umiddelbart.

Du har 2 muligheder:

1)  prepend og append noget kode omkring det så det bliver en valid Java klasse og
    compile den (memory -> memory) og load den og kald den

2)  udskrift Java syntaxen med noget script syntax - Java har siden version 1.6 haft
    indbygget support for script engine (kommer med JavaScript, men du kan få
    masser af andre) - og udfør den
Avatar billede arne_v Ekspert
23. august 2008 - 19:47 #2
#2 er ret nem at gå til

her er et lille eksempel hvor jeg udnytter at en del valid Java syntax også er
valid JavaScript syntax:

        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine js = mgr.getEngineByName("js");
        String code = "if ( 1==1 ) { java.lang.System.out.println( \"test.\" ); }";
        js.eval(code);
Avatar billede kernelx Juniormester
26. august 2008 - 17:49 #3
mange tak!
husk at skrive et eller andet som svar
Avatar billede arne_v Ekspert
26. august 2008 - 19:19 #4
kommer her

(jeg kan ogsaa lave et eksempel paa #1 hvis det er den vej du vil)
Avatar billede kernelx Juniormester
26. august 2008 - 21:44 #5
det behoever du ikke.
jeg har allerede den information, som jeg ledte efter (javascript-engine).
Men ellers mange tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester