大概是页面cache的问题,让页面cache立即过期
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
// or response.setHeader("Cache-Control","no-store");//HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
// or response.setHeader("Cache-Control","no-store");//HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
其实就是session的有效范围,即当session已经被第一次赋值之后,则在过期时间内这个session里保存的值都有效
this.b=b;
}
改成:public void setB(String b){
if (b==null){this.b="";}
else{
this.b=b;
}
}
试试,你就知道这样行不通的。
<jsp:setProperty name="bean0" property="*" />换成:<%
bean0.setA(request.getParameter("a"));
bean0.setB(request.getParameter("b"));
%>就OK了以下是我刚才测试通过的代码:Strtest.java
----------------------------package strtest;public class StrtestBean {
private String a="";
private String b="";
public String getA() {
return a;
}
public void setA(String sample) {
this.a = sample;
}
public void setB(String b){
this.b=b;
}
public String getB(){
return b;
}}strtest.jsp
--------------------------------------------<%@ page contentType="text/html; charset=GBK" %>
<html>
<head>
<title>
strtest
</title>
</head>
<jsp:useBean id="strtestBeanId" scope="session" class="strtest.StrtestBean" />
<%
strtestBeanId.setA(request.getParameter("a"));
strtestBeanId.setB(request.getParameter("b"));
%>
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<form method="post">
<hr>bean0<br/>
Enter new value for bean0.a : <input name="a"><br/>
Value of bean0.a is : <jsp:getProperty name="strtestBeanId" property="a" /><br/>
Enter new value for bean0.b : <input name="b"><br/>
Value of bean0.b is : <jsp:getProperty name="strtestBeanId" property="b" /><br/>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
<hr><br/>
</form>
</body>
</html>