0

我通过struts框架将一组数字从flex前端发送到后端

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

  calcEnergy.send(knobValues);

其中,旋钮.value 的类型为 Numbers

如果数组包含数字“0”,则会发生以下错误。错误出现在相应动作类的 setter 方法中。当数组不包含“0”时,不会出现错误...

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

动作类中的Setter方法...

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

3 回答 3

2

根据错误消息,方法setKnobValues()需要一个类型为double[](array of double) 的参数,并且您正在向它传递一个 of 的数组。String

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

看来您的版本不兼容。

.class您在编译时所拥有的与您在运行时所拥有的不同(假设这段代码编译得很好)。

于 2012-12-17T05:27:08.427 回答
0

最后我以某种方式设法做到了...似乎将 0 理解为零存在问题,在进入 Action 类之前它正在转换为 String...

因此,我没有将值作为 []double 发送,而是作为逗号(,)分隔的字符串发送并在后端将其标记化......

感谢您的回复:)

于 2012-12-18T08:07:20.037 回答