好吧,我会在这里发布的所有代码非常久远的描述......
好这里是被称为第一指标.. indexnpro.jsp其在获取值转发这些代码到Servletnpro这样.. <form class="form-class" name="myform" action="Servletnpro" method="POST">
注意:记住,因为这里的架构是MVC,所以每个jsp都有自己的servlet,所以值不会直接指向另一个jsp,而是一个servlet,然后将它们传递给下一个jsp ..... Now在Servletnpro的dopost方法中...
//这是不同的值,我从indexnpro.jsp获得,有的则是下拉框,但我不应该真正的问题..
String exproject=request.getParameter("country");
String corrcust=request.getParameter("state");
String excust=request.getParameter("country1");
String corrproject=request.getParameter("state1");
String corrtoepost= request.getParameter("corrtoe");
< ----------- ----这个数值我一直在失去按下后退按钮时..当它再次谈到这个servlet它变为空..
System.out.println(corrtoepost);
System.out.println("doPost is running");
System.out.println("Session id on dopost: " + session.getId());
request.setAttribute("corrtoepost", corrtoepost);
< ----------- ----在会话中存储价值,但我仍然失去它..
///////////从现在开始,数据库连接的简单代码将连接到数据库,根据用户选择获取数据,即我刚刚存储在会话中的“corrtoepost”,然后将显示其重新打开indexa.jsp ..
try{
int rs1;
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a Connection to the database
connection = DriverManager.getConnection(connectionURL);
//Add the data into the database
Statement stmt = connection.createStatement();
Statement stmt1 = connection.createStatement();
Statement stmt2 = connection.createStatement();
Statement stmt3 = connection.createStatement();
Statement stmt4 = connection.createStatement();
Statement stmt5 = connection.createStatement();
Statement stmt6 = connection.createStatement();
ResultSet rs = stmt.executeQuery("Select * from toe_description where toe_id= '" + corrtoepost + "' ") ;
ResultSet rs2 = stmt1.executeQuery("Select * from toe_text where type_id=1 AND toe_id= '" + corrtoepost + "' ") ;
ResultSet rs3 = stmt2.executeQuery("Select * from toe_text where type_id=2 AND toe_id= '" + corrtoepost + "' ") ;
ResultSet rs4 = stmt3.executeQuery("Select * from toe_text where type_id=3 AND toe_id= '" + corrtoepost + "' ") ;
ResultSet rs5 = stmt4.executeQuery("Select * from toe_text where type_id=4 AND toe_id= '" + corrtoepost + "' ") ;
ResultSet rs6 = stmt5.executeQuery("Select * from toe_text where type_id=5 AND toe_id= '" + corrtoepost + "' ") ;
ResultSet rs7 = stmt6.executeQuery("Select * from toe_text where type_id=6 AND toe_id= '" + corrtoepost + "' ") ;
while(rs.next()){
String toeid= rs.getString(1);
String toename= rs.getString(2);
String Intname= rs.getString(4);
String Assetname= rs.getString(5);
String Objname= rs.getString(6);
String ProjectID= rs.getString(7);
request.setAttribute("toeid", toeid);
request.setAttribute("toename", toename);
request.setAttribute("Intname", Intname);
request.setAttribute("Assetname", Assetname);
request.setAttribute("Objname", Objname);
request.setAttribute("ProjectID", ProjectID);
while(rs2.next()){
String purpose= rs2.getString(4);
request.setAttribute("purpose", purpose);
while(rs3.next()){
String scope= rs3.getString(4);
request.setAttribute("scope", scope);
System.out.println(scope);
while(rs4.next()){
String toe_desc= rs4.getString(4);
request.setAttribute("toe_desc", toe_desc);
System.out.println(toe_desc);
while(rs7.next()){
String toe_ass= rs7.getString(4);
request.setAttribute("toe_ass", toe_ass);
while(rs6.next()){
String enviroment= rs6.getString(4);
request.setAttribute("enviroment", enviroment);
while(rs5.next()){
String ass_env= rs5.getString(4);
request.setAttribute("ass_env", ass_env);
}
}
}
}
}
}
}
request.getRequestDispatcher("/WEB-INF/indexa.jsp").forward(request, response);
//这里我送取从数据库到所需的JSP然后将dislpay数据..即所有数据“indexa.jsp”
System.out.println("Connected to the database");
connection.close();
System.out.println("Disconnected from database");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
////////现在代码的Indexa.jsp
此页面将显示从前面讨论的Servletnpro中获取的数据..
在页面的body标签下,我检索了先前在会话中保存在Servletnpro中的“corrtoepost”的值..我可以看到此值..
String corrtoepost1=request.getParameter("corrtoepost");
String corrtoepost=(String) session.getAttribute("corrtoepost");
session.setAttribute("corrtoepost",corrtoepost);
,然后jsp页面上显示它..这正显示出正确的值作为现在..在这个页面中的下一个按钮
现在代码 记住下一个按钮是假设取我到了下一页,其中使用了servlet中的correcttoepost值。
下一页
现在让我们进入下一个页面是indexb.jsp
在这里,我再次从indexa.jsp得到 “corrtoe” 的值,这样的..
String corrtoe=(String) session.getAttribute("corrtoe");
session.setAttribute("corrtoe",corrtoe);
Uptill现在,我还是得到了此页面上的正确的价值......一旦我按后退按钮这个页面上出现问题....
现在对于此页面上的后退按钮代码..
上一页
现在,当我按下这个按钮,以前我失去indexa.jsp页脚趾值,并将其显示在界面为空corrtoe值.....在此之后我尝试使用Servlet的获取方法得到的值可以工作一次,但在按下nexta.jsp后,它会在indexb.jsp和剩余的页面上显示空值......问题是,为什么当我将它存储在会话中时我失去了这个值。 !请给我一些想法....
另一个问题是,当我按indexnpro页上提交为什么它显示Servletnpro在地址栏,而不是indexa.jsp ...但它确实显示页面indexa.jsp从indexa.jsp的值填充...我认为这就是为什么我继续失去jsp页面之间的“corrtoe”值的原因..
从你的描述使用豆可能会简化你的应用程序。你可以发布一些代码吗? – gebuh 2012-08-07 02:35:15
猜猜正确的代码会做。发布它我可以修改并告诉你答案。 – Prateek 2012-08-07 04:02:19
刚刚更新了下面的答案由Farhan艾哈迈德..请检查它..等待快速回复.. – 2012-08-07 18:14:04