0

私は、Strutsフレームワークを介してフレックスフロントエンドからバックエンドに数値の配列を送信しています

    var knobValues:Array=new Array();
        for(var i:int=0;i<parXmlList.length();i++)
        {
          knobValues[i]=parBox[i].knob.value;
        }

  calcEnergy.send(knobValues);

ここで、nob.value は Numbers 型です

配列に数値「0」が含まれている場合、次のエラーが発生しました。エラーは、対応するアクション クラスのセッター メソッドにあります。配列に「0」が含まれていない場合、エラーは発生しません...

Error setting value
Method "setKnobValues" failed for object com.tcs.infra.ecm.action.SaveScenarioAction@8f0064 [java.lang.NoSuchMethodException: setKnobValues([Ljava.lang.String;)]

アクションクラスのセッターメソッド...

public void setKnobValues(double[] knobValues) 
{
    this.knobValues = knobValues;
}
4

3 に答える 3

2

メソッドは型( の配列)setKnobValues()の引数を予期しており、エラー メッセージによると、 の配列を渡しています。double[]doubleString

于 2012-12-17T05:54:10.443 に答える
0
java.lang.NoSuchMethodException: setKnobValues([Ljava.lang.String;)

バージョンの非互換性があるようです。

.classコンパイル時に持っているものは、実行時に持っているものとは異なります (このコードが正常にコンパイルされていると仮定します)。

于 2012-12-17T05:27:08.427 に答える
0

最後に、なんとかこれを行うことができました...0をゼロとして理解することに問題があるようです.Actionクラスに来る前に、間に文字列に変換されています...

したがって、値を []double として送信する代わりに、コンマ (,) で区切られた文字列として送信し、バックエンドでそれをトークン化します...

ご回答ありがとうございます:)

于 2012-12-18T08:07:20.037 に答える