其实,每次使用<jsp:useBean id="a" class="myclass" scope="session">,都是新new一个对象的。
要跨页保存变量的值,用session吧。
session.setAttribute(name,value);
下一页中:session.getAttribute(name);
要跨页保存变量的值,用session吧。
session.setAttribute(name,value);
下一页中:session.getAttribute(name);
解决方案 »
- SSH的工程想做一个定时操作数据库的功能怎么做呀?
- 将一个对人员增删改查的程序改成Hibernate+spring+struts方式,需要配置哪些文件?
- [求助]如何得到web上图片在安装目录中上的路径
- 请大牛帮忙,jsp+tomcat+sql2000报错信息
- WebLogic 启动运行
- 送分:求一正则表达式,把“\”全部转换成“\\”
- Web 应用开发工具,基于Eclipse的Java工具,可视化定义Jsp页面,可视化定义工作流
- java访问excel文件之jdbc_odbc与 apache POI比较
- Proxool连接池问题
- 问个sql排序问题
- 请教高手!请详细讲解
- 50分简单的应用,请讲详细点。
sesseion.setAttribute("","");来设置然后用session.getAttribute("")来获取
可是,我试了就是不行
{
private String s1 = "sssssssss";
public void setS1( String s )
{
this.s1 = s;
}
public String getS1()
{
return s1;
}
}SessionBeanTest.jsp<%@ page import="test.SessionBeanTest" %>
<jsp:useBean id="sbt" class="test.SessionBeanTest" scope="session" />
<%
sbt.setS1( "test" );
response.sendRedirect( "b.jsp" );
%>b.jsp<%@ page import="test.SessionBeanTest" %>
<jsp:useBean id="sbt" class="test.SessionBeanTest" scope="session" />
<%=sbt.getS1()%>
你错了,你打开servlet代码发现如下代码:
mycalss a=null;
a=session.getAttribute("a");
if(a==null){
a=new myclass();
}
是发现在所在的scope中没有时才新建的,从这儿也可以看出为什么我们的bean要有一个默认的构造子
可能你的IE没有打开cookie功能,而又没有使用URL rewriting技术,所以每次服务器都是发现传来的数据中没有sessionID,而给你新建一个,所以每次都是一个新的session会话,你使用一个类似于tcp monitor的工具看一下之间的输出数据应该就可以发现问题之所在,可以下载可axis.jar,里面有个tcp monitor