日期:2014-05-17  浏览次数:20613 次

一个简单的jsp页面,怎么老是出错!大家帮忙看看啊!
index.jsp:
<%@ page language="java" contentType="text/html;charset=GB18030" pageEncoding="GB18030" import="java.lang.*" %>
<html>
<head>
<title>使用request对象获取请求参数值</title>
</head>
<body>
<%
try{
  int money=100;
  int number=2;
   
  request.setAttribute("result",money/number);//错误在这里
  }catch(Exception e){
  request.setAttribute("result","很抱歉,页面出错了。");
  } 



%>

<jsp:forward page="deal.jsp"/>
</body>

</html>

deal.jsp:
<%@ page language="java" contentType="text/html;charset=GB18030" pageEncoding="GB18030"%>
<html>
<head>
<title>结果页</title>
</head>
<body>
<%
String message=request.getAttribute("result").toString();
out.println(message);

%>


</body>

</html>

------解决方案--------------------
request.setAttribute("result",money/number);
标红的地方错了,因为money/number的结果类型是int,但是setAttribute方法无法接受int作为参数的。应该是以对象作为参数,所以可以改成这样:
request.setAttribute("result",new Integer(money/number));
------解决方案--------------------
探讨

request.setAttribute("result",money/number);
标红的地方错了,因为money/number的结果类型是int,但是setAttribute方法无法接受int作为参数的。应该是以对象作为参数,所以可以改成这样:
request.setAttribute("result",new Integer(money/number));

------解决方案--------------------
request.setAttribute("result",money/number+"");
把money/number转成String对象就没问题了

------解决方案--------------------
int money=100;
int number=2;

相除的结果还是int型。
------解决方案--------------------
用的是 1.4 的 JDK 吧,1.4 以上的会自动包装。