测试地址:http://localhost/test.jsp?user_id=11
test.jsp 文件源码
<html>
<head>
<title>test</title>
</head>
<body bgcolor="#ffffff">
<%
int user_id = request.getParameter("user_id");
out.print(user_id);
%>
</body>
</html>出错提示:
org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 11 in the jsp file: /user_delete.jsp
Generated servlet error:
D:\Tomcat 5.0\work\Catalina\127.0.0.1\_\org\apache\jsp\user_005fdelete_jsp.java:63: incompatible types
found   : java.lang.String
required: int
int user_id = request.getParameter("user_id");
本人是java初学者,请问这是哪里出错的。谢谢

解决方案 »

  1.   

    int user_id = request.getParameter("user_id");  
    改为String user_id = request.getParameter("user_id");
      

  2.   

    request.getParameter("user_id")得到的是String对象
      

  3.   

    request.getParameter("user_id");接收过来的类型是string,转化成int再付值
      

  4.   

    主要是类型不匹配的问题。因为调用request.getParameter这个方法得到的string  .而你需要的int.这样的会有类型不匹配的问题出现。所以可以使用强制转换。或把int改成string .
      

  5.   

    谢谢大家的回复,但有一个问题是如何把String对象类型转化成int呢。
      

  6.   

    String user_id = request.getParameter("user_id");
    int x = Integer.parseInt(user_id)
      

  7.   

    String user_id = request.getParameter("user_id");
    int x = 0 ;
    if(user_id != null) //防止空指针
    {
    Integer.parseInt(user_id)
    }
      

  8.   

    String user_id = request.getParameter("user_id");
    int x = 0 ;
    if(user_id != null) //防止空指针
    {
    x = Integer.parseInt(user_id)
    }