可用于保存的bean:package test;import java.io.*;public class FirstSaveBean implements Serializable{ private String name; public FirstSaveBean(){
} public String getName(){
return name;
} public void setName(String name){
this.name = name;
}}
相关的jsp页面:<%@page import="java.io.*"%>
<jsp:useBean type="test.FirstSaveBean" id="tb" beanName="test.FirstSaveBean"/>
<jsp:setProperty name="tb" property="name" value="KillMM"/>
下面开始保存对象tb到/WEB-INF/classes/test/TT.ser,注意后缀名。
<%
String p = "/WEB-INF/classes/test/TT.ser";
p = application.getRealPath(p);
FileOutputStream fos = new FileOutputStream(p);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(tb);
oos.close();
%>
开始使用对象tb1从TT.ser中获取对象。
<jsp:useBean type="test.FirstSaveBean" id="tb1" beanName="test.TT"/>
<%=tb1.getName()%>

解决方案 »

  1.   

    你是说<jsp:useBean>的id属性?举例说:<jsp:useBean id="myBean" class="MyPackage.MyBean" scope="session"/>
    这句话大致上相当于
    <%
    MyPackage.MyBean myBean = new MyPackage.MyBean();
    %>稍有不同的地方是:最后一个scope属性决定了Bean的生存期范围。具体的说,处理这个tag时,如果在指定的scope对象,如这里的session,那里找到了同id同类的Bean实例,实际上就会在页面后面的部分使用这个Bean实例,如果没有找到,那么就会新建一个Bean实例,并注册到指定的scope对象,如这里的session,供这个scope的其他JSP页面或者请求使用。所谓"串行化Bean的名称",多少翻译得有点拗口,实际上他想说的是:JavaBean默认是可串行化的,或者说实现了Serializable接口,所以说成是串行化Bean,而这里这个id属性就是用来指明这个Bean的名称的。明白了么?