这几天在学习jsp中遇到一个问题:
一个Javabean文件(NameHandler.java),两个jsp文件(hellouser.jsp和response.jsp),其中NameHandler.java用来传递数据,hellouser.jsp文件用来让客户通过HTML表单向jsp引擎输入数据,response.jsp文件在浏览器上返回结果。
NameHandler.java代码,其中变量userhid、方法setUserhid()和getUserhid自己添加的。package ch07;
public class NameHandler 
{
private String username;
private String userhid;
public NameHandler(){
    username = null;
    userhid  = null;
}
public void setUsername( String name ){
    username = name;
}
public String getUsername() {
    return username;
}
public void setUserhid(Sting hid)
{
    userhid=hid;
}
public String getUserhid() {
    return userhid;
}hellouser.jsp代码,其中标签userhid是自己后添加的。<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="mybean" scope="session" class="ch07.NameHandler" />
<jsp:setProperty name="mybean" property="*" /><%
  if(request.getParameter("username")!= null )
  {
   response.sendRedirect("response.jsp"); 
  }
%>
<html>
<head>
<title>Hello, User</title>
</head>
<body><h2>Hello,my name is 柳永坡. What's yours?</h2><form method="post" action="hellouser.jsp">
<input type="text" name="username" size="25">
<input type="text" name="userhid" size="25"><br>
<input type="submit" value="提交">
<input type="reset" value="重置"></form></body>
</html>response.jsp代码,其中标签h2的内容是自己添加。<jsp:useBean id="mybean" scope="session" class="ch07.NameHandler" />
<html>
<head>
<title>Hello, <%=mybean.getUsername()%></title>
</head>
<body><h1>Hello, <jsp:getProperty name="mybean" property="username" />
</h1>
<h2> hid= <%=mybean.getUserhid()%>
</h2>
</body>
</html>运行到response.jsp页面会出现错误:org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 10 in the jsp file: /response.jsp
The method getUserhid() is undefined for the type NameHandler
7: 
8: <h1>Hello, <jsp:getProperty name="mybean" property="username" />
9: </h1>
10: <h2> hid= <%=mybean.getUserhid()%>
11: </h2>
12: </body>
13: </html>
希望高手为我解释一下,谢谢!

解决方案 »

  1.   


    <h1>Hello, <jsp:getProperty name="mybean" property="username" />
    </h1>
    <h2> hid= <%=mybean.getUserhid()%>这两个名字不会冲突吧
      

  2.   

    ls说法不对重新编译下你的class
      

  3.   

    查看mybean这个class是否存在?
    不存在就重新编译生成
      

  4.   

    先debug 不行 重新编译 重新部署
      

  5.   

    先debug 不行 重新编译 重新部署
      

  6.   

    <h1>Hello, <jsp:getProperty name="mybean" property="username" />
    </h1>
    <h2> hid= <%=mybean.getUserhid()%>第十行直接个改成 <jsp:getProperty name="mybean" property="username" />这样的格式取不就好了吗?
      

  7.   

    <h1>Hello, <jsp:getProperty name="mybean" property="username" />
    </h1>
    <h2> hid= <%=mybean.getUserhid()%>
      

  8.   

    楼主,我试了你的程序,没问题。应该是NameHandler.java没编译成功。
    对了,不知道是否是你拷贝的问题,我在NameHandler.java里发现一个错误  public void setUserhid(Sting hid)
        {
            userhid=hid;
        }
        public String getUserhid() {
            return userhid;
        }红色部分应该是String吧
      

  9.   

    public void setUserhid(Sting hid)这个类根本就没编译成功那里当然报错了