2011-05-30 156 views
2

これは私がやろうとしていることです:HTMLでJavaメソッドを呼び出す

入力パラメータとして2つのファイルパスが必要なJavaプログラムを作成しました。コードはきれいで正確です。ここで問題となるのは、コマンドプロンプトで完全なファイルパスを指定する必要があるたびにです。だから、私はこれをHTMLページにリンクし、ファイルをブラウズするために2つのブラウズボタンを与えることを考えました。

私の問題は、Javaのメソッドで2つのブラウジングされたファイルパスを与える方法です。私はJavaコード全体をバッチファイルで今書いていました。私は<input type=file>をHTMLで使用しようとしましたが、私が認識していないJavaでこの値を渡す方法はありますか?

+1

これは、HTMLとJavaの統合の仕組みではありません。これをWebサイトに置く場合、Javaプログラムはどこで実行されますか?ユーザーのデスクトップで?その場合は、このアクティビティを実行するために信頼されているアプレットが必要です。 –

+0

Javaプログラムを呼び出す.batバッチファイルを追加するだけです – kachanov

+0

こんにちはVineet、これはローカルデスクトップ上でJavaメソッドを実行するためのWebサイトではありませんが、一般人にとってはコマンドプロンプトを開いてファイルを入力するのは難しいでしょうパス。だからGUIを使うのは難しい。助言がありますか ? – Kapil

答えて

4

このアプリケーションをデスクトップ上で使用する場合は、サーブレットやHTMLは必要ありません.2つのJFileChooserをポップアップし、これらを使用してファイルを選択するだけです。

これを実行するコードは次のとおりです。


import java.io.File; 

import javax.swing.JFileChooser; 

public class Main { 
    public static void main(String[] args) { 
     JFileChooser fc = new JFileChooser(); 
     fc.showOpenDialog(null); 
     File f1 = fc.getSelectedFile(); 
     fc.showOpenDialog(null); 
     File f2 = fc.getSelectedFile(); 
     System.out.println(f1.getName()); 
     System.out.println(f2.getName()); 
     /* make sure to make some checks to the files f1, f2 */ 
    } 
} 

は、お楽しみに! :D

4

この場合、servletを作成することができます。 htmlでファイルを参照したら、そのファイルの操作を行うサーブレットにhtmlフォームを送信します。そのサーブレットを指すには、フォームタグのactionパラメータに相対URLを指定します。または、サーバーを使用してWeb開発に入りたくない場合は、アプレットを使用して、Javaとブラウザー間の通信用のメディアにすることもできます。

+0

こんにちはハリー、私は任意のサーバー上で実行する私のコードをしたくない。私はあなたが甘やかされたオプションを試してみるだろうが、それをホストするためにサーバを必要としないことを願っている。 – Kapil

+0

@Vivek:アプレットを試してみると、サーバーは必要ありません。 –

+0

Vivek:サーバーが必要ない場合。デスクトップアプリケーションが必要だと思っています。その場合、組み込みWebサーバーcom.sun.net.httpserver.HttpServerまたはJetty –

4

Swing/AWTを使用して、完全にJavaのUIを作成します。

<input type="file"は使用できません。私の最初の考えはアプレットがやることだったが、check this answer。アプレットを使用することはできますが、ブラウザからではなく、Javaからファイルをブラウズする必要があります。

4

WebページをJava GUIで置き換えてみませんか?おそらくスイングしますか? javax.swing.JFileChooserを使用すると、ファイルシステムをブラウズし、ファイルパスを取得し、残りのプログラムを実行することができます。これがあなたの要求を満たすように思えます。

関連する問題