簡體   English   中英

使用Java作為后端將JavaScript連接到Java

[英]Connecting javascript to java with java as backend

我正在嘗試使用html,javascript和java的簡單Web應用程序。 HTML和javascript是前端的一部分,而Java是后端的一部分。 我正在使用applet。 我不想使用JSP或JSF,因為我當前的要求是只需要使用HTML和javascript。 我收到以下錯誤。

在此處輸入圖片說明

我從在線來源獲得此代碼。 我的代碼如下:

HTML:

 <script type="text/javascript" src="liveconnect.js"> </script>
 </head>
 <body onload="showProgrammer()">
   <applet id="app" code="LauncherApplet" height="1" width="1" MAYSCRIPT></applet> 
   <table>
    <tr>
     <td>Name</td>
     <td>:</td>
    <td><input type="text" id="name"/></td>
  </tr>
    <td>Age</td>
    <td>:</td>
    <td><input type="text" id="age"/></td>
  </tr>
    <td>Programming Language(PHP,Java or Python)</td>
    <td>:</td>
    <td><input type="text" id="language"/></td>
  </tr>
 </table>
 <input type="button" onclick="processProgrammer()" value="click"/>
</body>

JS:

function Programmer(name,age,language){
  this.name=name;
  this.age=age;
  this.language=language;
 }
 function showProgrammer(){
 try{
   var programmer=app.getProgrammer(); //app is the id of applet tag which refers to the applet instance.
   var data="Name= "+programmer.name+",Age= "+programmer.age+",Language= "+programmer.language;
   alert(data);
 }
 catch(e){
   alert(e);
  }
 }
 function processProgrammer(){
 try{
   var name=document.getElementById("name").value;
   var age=document.getElementById("age").value;
   var language=document.getElementById("language").value;
   var programmer=app.getProgrammer();
   var myprog=new Programmer(name,age,language);
   programmer.setData(myprog);
   var advice=programmer.getAdvice();
   alert(advice);
  }
  catch(e){
   alert(e);
  }
 }

小程序:

import java.applet.*;
import java.awt.*;
public class LauncherApplet extends Applet{
  public Programmer getProgrammer(){
    return new Programmer();
 }

}

主要的java文件:

import netscape.javascript.*;
public class Programmer {
  public String name="Programmer1";
  public String age="20";
  public String language="Java";
  public void setData(JSObject js){
  try{
    this.name=((String)js.getMember("name")).toLowerCase();
    this.age=((String)js.getMember("age")).toLowerCase();
    this.language=((String)js.getMember("language")).toLowerCase();
    System.out.println("Name= "+name+",Age= "+age+",language= "+language);
 }
 catch(JSException e){System.out.println(e);}
}
public String getAdvice(){
  String advice="";
  switch(language){
   case "php":
     advice=name+", you should definitely try out CodeIgniter.";
     break;
   case "java":
     advice=name+", you should definitely try out JavaServer Faces.";
     break;
   case "python":
     advice=name+", you should definitely try out Django.";
     break;
   default:
     advice="You language of choice is not any one of PHP, Java or Python";
  }
  return advice;
 }
}

Java文件已成功編譯。 沒有錯誤。 請告訴我我犯了什么錯誤。

提前致謝

您可能會使用DWR(直接Web路由)技術。 這只是一個Ajax函數。

http://directwebremoting.org/dwr/introduction/getting-started.html

這可能會幫助您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM