0

皆さん、こんにちは。

ユーザーが特定のデータに対してメソッドを呼び出せるようにする方法を見つけようとしています。

定義済みの一連の機能を提供したいと思います。

  • 移動平均、moving_ave(x,5) .. x の 5 日間の移動平均になります。
  • 3*x+y....など...

したがって、基本的に、ユーザーにさまざまなデータ系列(x、y、z....) と一連の関数moving_ave、+ - / * .... を提供し、簡単な数式を記述できるようにする必要があります (私が提供する機能)。

これはどのように行うことができますか?

これをApp Engine for Javaにデプロイします。

だから私はJSR-223について知りました...しかし、それが適切かどうかわかりませんか? 私は評価機能を使用できると考えています。

ありがとう、

4

3 に答える 3

1

あなたが求めているのは、単純な文法のインタープリターのようです。Aerosteak が提案するようなアプローチには十分注意してください。ユーザーがコード内の関数を直接呼び出すことを許可することは危険であり、サンドボックス化で間違いを犯しやすく、セキュリティの脆弱性につながります。また、独自のパーサーを作成する必要があります。

最も簡単な方法は、おそらく既存の言語を使用することです。Javascript はおそらく非常によく適合し、Java で記述された Javascript インタープリターであるRhinoを使用できます。

于 2010-11-22T02:01:33.140 に答える
0

これは、サーバーではなくクライアントで実行できる可能性があるように思えます。サーバー上で安静な API を呼び出すいくつかの便利な JavaScript 関数を作成して、必要なデータを便利な計算を行ういくつかの便利な JavaScript 関数に提供することができます。ユーザーが自分のクライアントで評価できるようにすることは、ほとんどの場合安全です。どのような場合でも実行できます。

于 2010-11-22T02:08:58.867 に答える
0

不明なメソッドを呼び出すには、リフレクションを使用する必要があります。Apache BeanUtil を見てください。

値が 1,2,3 の TextBox を持つことができます。これらの値をオブジェクト配列に変換します。

呼び出すことができるすべての可能なメソッドを含む別のコンボ ボックスを用意します。

次に、Bean Util を使用して、オブジェクト配列でメソッドを呼び出します。

例えば:

クラスMyMathManager{

public void doCalculationType1(オブジェクト引数...){..} public void doCalculationType2(オブジェクト引数...){..} public void doCalculationType3(オブジェクト引数...){..}

次に、BeanUtil の Java を見て、これらのメソッドを呼び出します。

幸運を。

于 2010-11-21T02:25:41.053 に答える