我通过struts框架发送一个从flex前端到后端的Numbers数组
var knobValues:Array=new Array();
for(var i:int=0;i<parXmlList.length();i++)
{
knobValues[i]=parBox[i].knob.value;
}
calcEnergy.send(knobValues);
其中,knob.value的类型为Numbers
如果数组包含数字'0',则发生以下错误。错误在相应操作类的setter方法中。当Array不包含'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;
}
答案 0 :(得分:2)
方法setKnobValues()
期望类型double[]
的参数(double
的数组),并且根据错误消息传递String
数组。< / p>
答案 1 :(得分:0)
java.lang.NoSuchMethodException: setKnobValues([Ljava.lang.String;)
您的版本似乎兼容。
编译时的 .class
与运行时的编译时间不同(假设此代码编译正常)。
答案 2 :(得分:0)
最后我设法做到了这一点...... 似乎在将0理解为零时存在问题,它在进入Action类之前被转换为String ...
因此,我不是以[] double的形式发送值,而是以逗号(,)分隔的字符串发送,并在后端进行标记...
感谢您的回复:)