以下解答均针对服务器端Javascript(v1.4);
所有Javascript对Java对象的存取通过LiveConnect,它包括以下几个对象,
JavaArray:可在JavaScript内存取的java数组
JavaClass:一个 JavaScript 引用一个 Java Class
JavaObject:可在JavaScript内存取的java对象
JavaPackage:一个 JavaScript 引用一个 Java package下述代码调用java对象验证登陆ID
if (request.bugId != "")

 var bug = new Packages.bugbase.Bug(parseInt(request.bugId),       
                                       request.bugPriority, request);
  project.bugsLock.lock(); 
  project.bugs[parseInt(request.bugId)] = bug;
  project.bugsLock.unlock();
  write("<P><b><I>====>Committed bug: </I></b>");
  write(bug, "<BR>");
}
else
 { 
  write("<P><b><I>====>Couldn't commit bug: please complete       all fields.</I></b>");}

解决方案 »

  1.   

    Call a Java method from Javascript
    You call a Java method by giving its fully qualified name. In the following snippet, the first example calls the method in the Toolkit to retrieve the screen resolution. The second example, calls a method in our Applet. 
    [Java applet] import java.awt.*;
    import java.applet.*;
    public class inJava extends Applet{
      public void sayHello() {
        Graphics g = getGraphics();
        g.drawString("Hello from JAVA!", 10, 10);
        }
      }
     [Javascript and HTML (Netscape)] <HTML><HEAD></HEAD><BODY>
    <SCRIPT>
    alert("Screen Dimension\n" +
      "  width:" + 
      java.awt.Toolkit.getDefaultToolkit().getScreenSize().width +
      " height:" + 
      java.awt.Toolkit.getDefaultToolkit().getScreenSize().height);
    </SCRIPT>
    <FORM>
    <INPUT type="button" value="call JAVA" 
       onClick = "document.myApplet.sayHello()">
    </FORM>
    <APPLET CODE="inJava.class"  
            NAME="myApplet" 
            HEIGHT=100 WIDTH=100>
    </APPLET>
    </BODY></HTML>
     NOTE: On IE4 or better, you can't call java.lang.* methods directly from Javascript or Jscript. IE javascript can only access the public methods of an applet (a class derived from java.applet.Applet) but don't have a general access to other java classes . So the solution is simple, wrap the java.lang.* call in a public method of a "dummy" Applet. import java.awt.*;
    import java.applet.*;
    // to be called from javascript (IE and Netscape ok)
    public class inJava extends Applet{
      public integer getScreenWidth() {
        return Toolkit.getDefaultToolkit().getScreenSize().width);
        }
      public integer getScreenHeight() {
        return Toolkit.getDefaultToolkit().getScreenSize().height);
        }
      } 
    [Javascript and HTML (IE and Netscape)] <HTML><HEAD></HEAD><BODY>
    <SCRIPT>
    function getScreenDimension() {
       alert("Screen Dimension\r\n  width:" + 
             document.myApplet.getScreenWidth() +
             " height:" + 
            document.myApplet.getScreenHeight() );
       }
    </SCRIPT>
    <FORM>
    <INPUT type="button" value="call JAVA" 
       onClick = "getScreenDimension()">
    </FORM>
    <APPLET CODE="inJava.class"  
            NAME="myApplet" 
            HEIGHT=100 WIDTH=100>
    </APPLET>
    </BODY></HTML>