2017-03-26 9 views
0

私はjavascriptの新しいBeeです。私は、javascriptファイルの.javaクラスに存在するjavaプロパティにアクセスすることを回避しようとしています。サンプル例は次のようになります。JSファイルのJavaクラスプロパティへのアクセス

/******************************JAVA **************************/ 

public class SampleProgram { 

    public String input = "Hello" 
} 

/************************************ *** JS ************************/

<script> 

window.setObject("inputValue", new SampleProgram().input); 
console.loh(window.getObject("inputValue")); 

PS:私は、これがJSPの通じacheivableである知っています。しかし、私は別の方法を考え出したい。

お願いします。

ありがとうございました!

+0

本当に良い質問です。 –

+0

一般的には、 ''や ''のようなHTMLテンプレートの変数をテンプレートに設定します言語)。 – chrylis

+0

JavaとJSはまったく関係ありません。名前の類似性は、JSが導入されたばかりのマーケティング・ギャグ/戦略でした。問題は:JSはブラウザ(クライアントコンピュータ上)で実行されますが、Javaは実行しません。だから1つの方法は、JavaでJSのいくつかの部分を生成し、それを出力に注入することです。別の方法は、ajaxを使用してJavaを実行し、要求した値を返すサーバーを呼び出すことです。これらはあなたの選択です。これら2つの言語を混在させる方法はありません。 – Thomas

答えて

0

あなたは本当にこのように言語を混ぜ合わせることはできません。ブラウザロジックをサーバーロジックから分離し、HTTPリクエストを介してデータを交換します。

+0

あなたはもっと明確になることができますか? –

0

JavaクラスのメソッドやプロパティをJavaScriptに直接公開する方法はありません。

<script type="text/javascript"> 
var variableFromServer = '{someBean.someProperty}'; 
</script> 

あなたは、JSPを使用していない場合:

Javaは、ページを使用すると、サーバー側のテンプレートのコンテキストでのJavaBeanのプロパティにアクセスできますが、JavaScriptのアクセス権を与えることあなたはJavaScriptを使用してJSPタグを混在醜いハックを必要としない切断しますhttpベースのapiを構築するために使用されるJAX-RSのような他の技術を使って、あなたのJavaコードを公開する必要があります。

+0

上記のRobertの答えを基に、私はJSFをかなり使ってJSタグを埋め込み、var varname = '#{someBean.someProperty}'を使ってJS beanパラメータをJS varパラメータに呼び出しました。 JSON型のデータでこれを試してみましたか? –

関連する問題