MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 8 as of 2019-08-23 14:41:09
  • Java
  • rhino

rhino

Rhino is an open-source implementation of JavaScript written entirely in Java.

It is typically embedded into Java applications to provide scripting to end users.

It is embedded in J2SE 6 as the default Java scripting engine.

https://developer.mozilla.org/en-US/docs/Rhino

Invoke JavaScript from Java example

   1 // /tmp/test.js
   2 function isOdd(number) { 
   3   if(number % 2){
   4     return false;
   5   }
   6   else{
   7   return  true;  
   8   }
   9 };

   1 import javax.script.Invocable;
   2 import javax.script.ScriptEngine;
   3 import javax.script.ScriptEngineManager;
   4 import javax.script.ScriptException;
   5 import java.io.FileNotFoundException;
   6 import java.io.FileReader;
   7 
   8 public class JSTest {
   9 
  10         /**
  11          * @param args
  12          */
  13         public static void main(String[] args) {
  14                 ScriptEngineManager sem = new ScriptEngineManager();
  15                 ScriptEngine engine = sem.getEngineByName("ECMAScript");
  16                 FileReader fr = null;
  17                 String path = "/tmp/test.js";
  18                 try {
  19                         fr = new FileReader(path);
  20                 } catch (FileNotFoundException e) {
  21                         System.out.println(String.format("File %s not found", path));
  22                 }
  23 
  24                 if (fr != null) {
  25                         try {
  26                                 engine.eval(fr);
  27                                 if (engine instanceof Invocable) {
  28                                         Invocable iv = (Invocable) engine;
  29 
  30                                         try {
  31                                                 System.out.println(iv.invokeFunction("isOdd", new Integer(4)));
  32                                                 System.out.println(iv.invokeFunction("isOdd", new Integer(5)));
  33                                         } catch (NoSuchMethodException ex) {
  34                                                 ex.printStackTrace();
  35                                         } catch (ScriptException ex) {
  36                                                 ex.printStackTrace();
  37                                         }
  38                                 }
  39                         } catch (ScriptException ex) {
  40                                 ex.printStackTrace();
  41                         }
  42                 }
  43         }
  44 
  45 }

switch case example

  • rhino -require -strict test.js
  • uses CommonJS (-require) http://wiki.commonjs.org/wiki/Modules/1.1

  • http://wiki.commonjs.org/wiki/Modules

test.js

   1 dict = require('./modulex.js');
   2 console = require('./console.js');
   3 
   4 var caseA = ["a","e","i","o","u"];
   5 var caseB = ["b","c","d","f","g"];
   6 var caseC = ["h","j","k","l","m"];
   7 var caseD = ["n","p","q","r","s","t","v","w","x","y","z"];
   8 
   9 function check_if(string){
  10   var letter = string[0];
  11   if( caseA.indexOf(letter) >=0) return "A";
  12   if( caseB.indexOf(letter) >=0) return "B";
  13   if( caseC.indexOf(letter) >=0) return "C";
  14   if( caseD.indexOf(letter) >=0) return "D";
  15 }
  16 
  17 function check_case2(string){
  18   var letter = string[0];
  19 
  20   switch(true){
  21     case caseA.indexOf(letter) >=0: return "A";
  22     case caseB.indexOf(letter) >=0: return "B";
  23     case caseC.indexOf(letter) >=0: return "C";
  24     case caseD.indexOf(letter) >=0: return "D" ; 
  25   }
  26 
  27 }
  28 
  29 function check_case(string){
  30   var letter = string[0];
  31   switch(letter){
  32     case "a":
  33     case "e": 
  34     case "i":
  35     case "o":
  36     case "u":
  37       return "A";
  38     case "b":
  39     case "c":
  40     case "d":
  41     case "f":
  42     case "g":
  43       return "B";
  44     case "h":
  45     case "j":
  46     case "k":
  47     case "l":
  48     case "m":
  49       return "C";
  50     default:
  51       return "D";
  52    }
  53 }
  54 
  55 console.log( check_if("adfgt") );
  56 console.log( check_if("fdfgt") );
  57 console.log( check_if("kdfgt") );
  58 console.log( check_if("wdfgt") );
  59 console.log("####");
  60 console.log( check_case("adfgt") );
  61 console.log( check_case("fdfgt") );
  62 console.log( check_case("kdfgt") );
  63 console.log( check_case("wdfgt") );
  64 console.log("####");
  65 console.log( check_case2("adfgt") );
  66 console.log( check_case2("fdfgt") );
  67 console.log( check_case2("kdfgt") );
  68 console.log( check_case2("wdfgt") );
  69 console.log("####");
  70 
  71 console.log( JSON.stringify(dict) );
  72 dict.info( dict.a );

modulex.js

   1 function console(){}
   2 
   3 console.info = function(message){
   4   print(message);
   5 };
   6 
   7 exports.info = console.info;
   8 exports.a = 1;
   9 exports.b = 2;
  10 exports.c = 3;

console.js

   1 exports.log = function(message){
   2   print(message);
   3 };;
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01