方法未定义

这是部分user_modify.jsp代码:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ page import="com.bjsxt.drp.sysmgr.domain.*" %>
<%@ page import="com.bjsxt.drp.sysmgr.manager.*" %>
<%

String command = request.getParameter("command");
User user = null;
if("modify".equals(command)){

user.setUserId(request.getParameter("userId"));
user.setUserName(request.getParameter("userName"));
user.setPassword(request.getParameter("password"));
user.setContactTel(request.getParameter("contactTel"));
user.setEmail(request.getParameter("email"));

UserManager.getInstance().modifyUser(user);
}
out.println("修改成功!");
String userId = request.getParameter("userId");//拿到request请求对象中的userId
user = UserManager.getInstance().findUserById(userId);
%>
这是部分UserManager.java的代码:
public void modifyUser(User user){
String sql = "update t_user set user_name=?, password=?, contact_tel=?, email=? " +
"where user_id=? ";
Connection conn = null;
PreparedStatement pstmt = null;
try{
conn = DBUtil.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getUserName());
pstmt.setString(2, user.getPassword());
pstmt.setString(3, user.getContactTel());
pstmt.setString(4, user.getEmail());
pstmt.setString(5, user.getUserId());
pstmt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}finally{
DBUtil.close(pstmt);
DBUtil.close(conn);
}
}
最后运行抛出的异常:
HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: 14 in the jsp file: /sysmgr/user_modify.jsp
The method modifyUser(User) is undefined for the type UserManager
11: user.setPassword(request.getParameter("password"));
12: user.setContactTel(request.getParameter("contactTel"));
13: user.setEmail(request.getParameter("email"));

14: UserManager.getInstance().modifyUser(user);
15: }
16: out.println("修改成功!");
17: String userId = request.getParameter("userId");//拿到request请求对象中的userId

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

我试了很多方法都不好使,请各位大侠出手相助。。。

你的程序里面是不是不同的包中有相同的UserManager,你页面导入的时候,导错类了,其他的问题,楼上都找出来了,你重新发布一下,再重试一下。。。

[code="java"]UserManager.getInstance().modifyUser(user); [/code]

改为[code="java"]new UserManager.modifyUser(user); [/code]

漏了()
[code="java"]new UserManager().modifyUser(user); [/code]

UserManager是那来的? 干什么用的?

The method modifyUser(User) is undefined for the type UserManager

但它的提示很明显,就是说UserManager没有modifyUser(User)方法

你确定引用的UserManager.class文件是正确的版本,有这个方法?

检查UserManager类中是否有modifyUser方法,如果有 重新编译UserManager 替换原来的UserManager.class文件。

重新编译,IDE重新发布,重启tomcat。再访问

[quote]User user = null; [/quote]实例化[color=blue]user = new User();[/color]

你到WEB-INF/classes下去找到对应的类文件,反编译看正确不

[color=blue][b]首先:这里user是空对象。改为 User user = new User();[/b][/color]

[code="java"] User user = null;
if("modify".equals(command)){
user.setUserId(request.getParameter("userId"));
user.setUserName(request.getParameter("userName"));
user.setPassword(request.getParameter("password"));
user.setContactTel(request.getParameter("contactTel"));
user.setEmail(request.getParameter("email"));
UserManager.getInstance().modifyUser(user);
} [/code]
[b]
[color=blue]然后,查看包下,是否有重复的UserManager类。[/color][/b]

[code="java"]<%@ page import="com.bjsxt.drp.sysmgr.domain.*" %>
<%@ page import="com.bjsxt.drp.sysmgr.manager.*" %> [/code]
[color=blue][b]

最后,查看user_modify.jsp 生成的 java源文件。查看其中的 包的导入情况,以及UserManager.getInstance().modifyUser(user)附近的代码块[/b][/color]