我刚开始学jsp,今天写了一个javabean的例子程序,遇到了问题。程序如下:
<html><head>
<title>一个useBean动作的例子</title>
</head>
<%@ page contentType="test/html;charset=GB2312"%>
<jsp:useBean id="test" scope="session" class="dbbean.SimpleBean"/>
<body>
<center><h2>这是一个javaBean的例子</h2></center>
< %test.setString("This is a easy problem!"); %>
<p><h3><%=test.displayString()%></h3></p>
</body></html>SimpleBean.java程序:
package dbbean;
public class SimpleBean
{
  String str;
  public SimpleBean()
  {
    str="This is the inital string";
  }
  public void setString(String str1)
  {
    str="Hello! "+str1;
  }
  public String displayString()
  {
    return str;
  }
}
运行时,总是弹出“保存”对话框,我的环境变量已经配好了,其他的例子程序也可以运行,但不知道为什么这个程序却不可以?哪位高手能否指教一下!

解决方案 »

  1.   

    public String displayString()
      {
        return str;
      }
     改称
      public String getStr()
      {
        return str;
      }
      

  2.   

    同意楼上的那位仁兄的说法把:
    public String displayString()
      {
        return str;
      }
    改成:
    public String getDisplay()
      {
        return str;
      }
    这样就应该可以!因为JavaBean有自己的格式,必须得这样写!不这样写就会出现问题的!
      

  3.   

    对了 
    public void setString(String str1)
      {
        str="Hello! "+str1;
      }
    也改成
     public void setStr(String str1)
      {
        str="Hello! "+str1;
      }
      

  4.   

    我更改后,报错:The server encountered an internal error () that prevented it from fulfilling this request.
    javax.servlet.ServletException: dbbean.SimpleBean.getStr()Ljava/lang/String;
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp._2_jsp._jspService(_2_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  5.   

    在JSP里加上<%@ page contentType="text/html; charset=gb2312" language="java" import="dbbean.SimpleBean"%>

    <jsp:getProperty name="test" property="str" />
    <jsp:setProperty name="test" property="str" value="aaaaa"/>
    或者
    <% test.setStr("This is a easy problem!"); %>
    <%= test.getStr() %>
    应该可以了吧
      

  6.   

    <jsp:useBean id="test" scope="request" class="dbbean.SimpleBean"/>
      

  7.   


    把javabean改称这样:public class SimpleBean
    {
      String str;
      public SimpleBean()
      {
        str="This is the inital string";
      }
      public void setStr(String str1)
      {
        str="Hello! "+str1;
      }
      public String displayStr()
      {
        return str;
      }
    }
      

  8.   

    不要意思,是这样:public class SimpleBean
    {
      String str;
      public SimpleBean()
      {
        str="This is the inital string";
      }
      public void setStr(String str1)
      {
        str="Hello! "+str1;
      }
      public String getStr()
      {
        return str;
      }
    }
      

  9.   

    老大,set/get方法一般自动生成,你用自动生成的方法一般不会有错误的,知道吗,你试
      

  10.   

    标准的JavaBean是要实现Serializable接口的
    public class SimpleBean implements Serializable{
        private String str;    public SimpleBean(){
        }    public void setStr(String str){
            this.str = str;
        }    public String getStr(){
            return this.str;
        }
    }