中易网

MyEclipse,请问这错误咋解决?请高手指点request.setAttribute("result",result);

答案:3  悬赏:80  
解决时间 2021-11-09 07:49
  • 提问者网友:不懂我就别说我变
  • 2021-11-08 10:44
The method setAttribute(String, Object) in the type ServletRequest is not
applicable for the arguments (String, int)

我需要int型的作为计算器的结果result,request.setAttribute("result", result);

有说“你用 JDK 1.5 或以上的版本就行了。如果你用的已经是 JDK 1.5 或以上的版本,那可以把 IDE 中的编译级别调至 1.5 或 1.6。”可是我没找到IDE 在哪修改

CalActionForm caf=(CalActionForm)form;
int value1=caf.getValue1();
int value2=caf.getValue1();
String flag=caf.getFlag();
int result=0;
Integer re = new Integer(result);

try{
if("+".equals(flag)){
result=value1+value2;

}else if("-".equals(flag)){
result=value1-value2;

}else if("*".equals(flag)){

result=value1*value2;
}else if("/".equals(flag)){
result=value1/value2;
}
request.setAttribute("result", re);//在request对象中加入名为result的属性并附值为
return mapping.findForward("success");
}catch(Exception e){
e.printStackTrace();
}

return mapping.findForward("error");

}
最佳答案
  • 二级知识专家网友:我叫很个性
  • 2021-11-08 12:20
你可以使用String ,String.valueOf(result),然后在 自己转
全部回答
  • 1楼网友:懂得ㄋ、沉默
  • 2021-11-08 14:07
把你的result由int修改成Integer。就可以了,一样可以实现你想要的功能。 request.setAttribute("result", result);第二个参数必须是对象类型才可以的。 所有你按照我说的修改就可以了。
  • 2楼网友:丢不掉的轻狂
  • 2021-11-08 13:28
因为这里的attribute只能是存一个对象.你直接存一个int基本类型,它的方法重载里没有. 你看它的提示:The method setAttribute(String, Object) in the type ServletRequest is not applicable for the arguments (String, int) 翻译过来就是:在request.setAttribute(String, Object)的方法里,不能适用于你现在用的(string,int). 因为object是一切类的基类,所以只要是对象都可以作为object往这里存.而int,double,char,boolean这些,都是基本数据类型,它们不是对象. 解决方法:用Interger类型作为参数.这是 int的类的形式.和int大同小异,例如定义一个为5的变量: int a = 5; Integer b = new Integer(5); ---------------------你的代码的修改方案---------------- Integer result = new Integer(0); ```````````` //处理result部分代码 request.setAttribute("result", result);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息