为什么数据不能覆盖呢? 检查choose.jsp中session.getAttribute("..")是否正确 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文件头上加:response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); choose.jsp 文件获取的值是随我得选择改变而变化的,是正确的。可就是writeinfo.jsp 通过session.getAttribute("..")获取的值始终是第一次的值,上面的方法我都试过了呀! session.setAttribute("...",...);后把它OUT出来,然后运行多次,看每次都OUT出来都一样吗?这样你就知道错在哪里了? choose.jsp 用以获取 html 文件中的选项值: <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.io.*" session="true" autoFlush="true"%><%response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);%><html><head> <title>dir</title> <% String Dir=null; Dir=request.getParameter("foldheader"); if(session.getAttribute("foldheader")==null) session.setAttribute("foldheader",Dir);String subname=null; subname=request.getParameter("sub");if(subname!=null){if(session.getAttribute("sub")==null) session.setAttribute("sub",subname);}String subsubname=null; subsubname=request.getParameter("subsub");boolean subsubnameChecked=request.getParameter("subsub")!=null;String checkOr;if(subsubnameChecked==true) {checkOr="yes"; if(session.getAttribute("subsub")==null) session.setAttribute("subsub",subsubname); }else {checkOr="no";}if(session.getAttribute("ifChecked")==null) session.setAttribute("ifChecked",checkOr);%><jsp:forward page="showtree.jsp"/></body></html>writeinfo.jsp 提取刚才由 choose.jsp 设置的 session 变量值:<%@ page session="true" autoFlush="true"%><%@ page contentType="text/HTML;charset=gb2312" %><%response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0);%><jsp:useBean id="transl" scope="session" class="regchk.Translate"/> <HTML><HEAD><TITLE>将文件信息写入数据库</TITLE></HEAD><BODY><%@ page language = "java"%><%@ page import = "java.util.*"%><%@ page import = "java.io.*"%><%@ page import = "javax.servlet.http.*"%><%@ page import = "javax.servlet.*"%><%@ page import = "java.sql.*"%><% String prelocation=null, location=null, branch=null, branch_conv=null, category=null, category_conv=null, subcategory=null, subcategory_conv=null; branch=(String)session.getAttribute("foldheader"); branch_conv=new String(branch.getBytes("iso8859-1"),"GBK"); category=(String)session.getAttribute("sub"); category_conv=new String(category.getBytes("iso8859-1"),"GBK"); String ifChecked=(String)session.getAttribute("ifChecked"); if(ifChecked.equals("yes")) { subcategory=(String)session.getAttribute("subsub"); subcategory_conv=new String(subcategory.getBytes("iso8859-1"),"GBK"); prelocation="uploadreal/"+branch+"/"+category+"/"+subcategory; } else { prelocation="uploadreal/"+branch+"/"+category; } location=transl.c(prelocation); String Year=(String)request.getParameter("year"); String Month=(String)request.getParameter("month"); String Date=(String)request.getParameter("date"); if(session.getAttribute("Year")==null) session.setAttribute("Year",Year); if(session.getAttribute("Month")==null) session.setAttribute("Month",Month); if(session.getAttribute("Date")==null) session.setAttribute("Date",Date); String docuname=branch_conv+"_"+category_conv+"_"+keyword+"_"+Year+Month+Date+type; String docuname1=branch+"_"+category+"_"+keyword1+"_"+Year+Month+Date+type; String realname=transl.c(docuname1); String type=(String)request.getParameter("type"); String keyword1=(String)request.getParameter("keyword"); if(session.getAttribute("keyword")==null) session.setAttribute("keyword",keyword1); String keyword=new String(keyword1.getBytes("iso8859-1"),"GBK"); String author=(String)request.getParameter("author"); String author_conv=new String(author.getBytes("iso8859-1"),"GBK"); String serial=(String)request.getParameter("serial"); String serial_conv=new String(serial.getBytes("iso8859-1"),"GBK"); String driver = "sun.jdbc.odbc.JdbcOdbcDriver"; String connectString = "jdbc:odbc:DBTEST"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn; ResultSet rs;String sql = "INSERT INTO document(location,docuname,realname,draftdate,author,serial) VALUES('"+location+"','"+docuname+"','"+realname+"',GETDATE(),'"+author_conv+"','"+serial_conv+"')"; conn=DriverManager.getConnection(connectString); Statement stmt = conn.createStatement(); stmt.executeUpdate(sql); %>摘要信息提交成功!请选择要上传的文件:<br><br><jsp:forward page="select.htm"/></BODY></HTML>出现的问题是:无论我后来在html文件中选取什么选项,branch、category、subcategory的值都保持为choose.jsp第一次从html文件中获取的值。谢谢高手指点了。 答 kongxiangli(笑看红尘): 每次都OUT出来都不一样,看来 session.setAttribute("...",...); 这个地方是没有问题的。 >if(session.getAttribute("foldheader")==null) > session.setAttribute("foldheader",Dir);第一次从html文件中获取的值一直都在session, session.getAttribute("foldheader")!=null, 所以第二, 三, 四....次沒有行session.setAttribute("foldheader",Dir);你明白什么是session 嗎? 我有两个java程序,我想一个调用另外一个java的结果怎么弄 求一个java正则表达式 程序运行一段时间登录不进去了??? 求在JSP中显示树形结构(在线等)。。。。。 JDBC-ODBC的问题 刚刚同一个MM聊天。。 这句话我倒了。。 又是中文乱码问题!! tomcat如何才不用重启 用javamail发邮件,但是为什么会出错呢?有谁能不能把你们写邮件的代码贴出来呢?还有就是邮件群发的问题,不知道该怎么办 还有错误!高人救我! jbuilder7企业版下载。 我该怎么办???
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
可就是writeinfo.jsp 通过session.getAttribute("..")获取的值始终是第一次的值,上面的方法我都试过了呀!
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.io.*" session="true" autoFlush="true"%>
<%response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
<html>
<head>
<title>dir</title>
<%
String Dir=null;
Dir=request.getParameter("foldheader");
if(session.getAttribute("foldheader")==null) session.setAttribute("foldheader",Dir);String subname=null;
subname=request.getParameter("sub");
if(subname!=null){if(session.getAttribute("sub")==null) session.setAttribute("sub",subname);}String subsubname=null;
subsubname=request.getParameter("subsub");
boolean subsubnameChecked=request.getParameter("subsub")!=null;
String checkOr;
if(subsubnameChecked==true)
{checkOr="yes";
if(session.getAttribute("subsub")==null) session.setAttribute("subsub",subsubname);
}
else {checkOr="no";}
if(session.getAttribute("ifChecked")==null) session.setAttribute("ifChecked",checkOr);
%>
<jsp:forward page="showtree.jsp"/>
</body>
</html>writeinfo.jsp 提取刚才由 choose.jsp 设置的 session 变量值:<%@ page session="true" autoFlush="true"%>
<%@ page contentType="text/HTML;charset=gb2312" %>
<%response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
<jsp:useBean id="transl" scope="session" class="regchk.Translate"/> <HTML>
<HEAD>
<TITLE>
将文件信息写入数据库
</TITLE>
</HEAD>
<BODY>
<%@ page language = "java"%>
<%@ page import = "java.util.*"%>
<%@ page import = "java.io.*"%>
<%@ page import = "javax.servlet.http.*"%>
<%@ page import = "javax.servlet.*"%>
<%@ page import = "java.sql.*"%>
<%
String prelocation=null,
location=null,
branch=null,
branch_conv=null,
category=null,
category_conv=null,
subcategory=null,
subcategory_conv=null;
branch=(String)session.getAttribute("foldheader");
branch_conv=new String(branch.getBytes("iso8859-1"),"GBK");
category=(String)session.getAttribute("sub");
category_conv=new String(category.getBytes("iso8859-1"),"GBK");
String ifChecked=(String)session.getAttribute("ifChecked");
if(ifChecked.equals("yes"))
{ subcategory=(String)session.getAttribute("subsub");
subcategory_conv=new String(subcategory.getBytes("iso8859-1"),"GBK");
prelocation="uploadreal/"+branch+"/"+category+"/"+subcategory;
}
else
{ prelocation="uploadreal/"+branch+"/"+category;
}
location=transl.c(prelocation);
String Year=(String)request.getParameter("year");
String Month=(String)request.getParameter("month");
String Date=(String)request.getParameter("date");
if(session.getAttribute("Year")==null) session.setAttribute("Year",Year);
if(session.getAttribute("Month")==null) session.setAttribute("Month",Month);
if(session.getAttribute("Date")==null) session.setAttribute("Date",Date);
String docuname=branch_conv+"_"+category_conv+"_"+keyword+"_"+Year+Month+Date+type;
String docuname1=branch+"_"+category+"_"+keyword1+"_"+Year+Month+Date+type;
String realname=transl.c(docuname1);
String type=(String)request.getParameter("type");
String keyword1=(String)request.getParameter("keyword");
if(session.getAttribute("keyword")==null) session.setAttribute("keyword",keyword1);
String keyword=new String(keyword1.getBytes("iso8859-1"),"GBK");
String author=(String)request.getParameter("author");
String author_conv=new String(author.getBytes("iso8859-1"),"GBK");
String serial=(String)request.getParameter("serial");
String serial_conv=new String(serial.getBytes("iso8859-1"),"GBK");
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connectString = "jdbc:odbc:DBTEST";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn;
ResultSet rs;
String sql = "INSERT INTO document(location,docuname,realname,draftdate,author,serial) VALUES('"+location+"','"+docuname+"','"+realname+"',GETDATE(),'"+author_conv+"','"+serial_conv+"')"; conn=DriverManager.getConnection(connectString);
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
%>
摘要信息提交成功!请选择要上传的文件:<br>
<br>
<jsp:forward page="select.htm"/>
</BODY>
</HTML>
出现的问题是:
无论我后来在html文件中选取什么选项,branch、category、subcategory的值都保持为choose.jsp第一次从html文件中获取的值。
谢谢高手指点了。
每次都OUT出来都不一样,看来 session.setAttribute("...",...); 这个地方是没有问题的。
> session.setAttribute("foldheader",Dir);
第一次从html文件中获取的值一直都在session, session.getAttribute("foldheader")!=null, 所以第二, 三, 四....次沒有行session.setAttribute("foldheader",Dir);你明白什么是session 嗎?