java - Last record of resultset displayed again and again by jsp in strut1 -
i trying display resultset jsp,but in lastly record in resultset displayed again.records fetched action class think logic:ierate not working.i cant solve problem.i sending whole code. please help me, how can resolve problem?
public class reportsaction extends org.apache.struts.action.action { public actionforward execute(actionmapping mapping, actionform form, httpservletrequest request, httpservletresponse response) throws exception { string target = null; reportactionform f=(reportactionform) form; string loanamount=f.getloanamount(); string status=f.getstatus(); string city=f.getcity(); string loanfor=f.getloantype(); string bankname=f.getbankname(); string team=f.getteam(); string regdate=f.getregdate(); string regdate2=f.getregdate2(); logger l1=logger.getlogger("my"); l1.info("city : "+city); class.forname("com.mysql.jdbc.driver"); connection con=(connection) drivermanager.getconnection("jdbc:mysql://server:3306/dsa","dexpertuser","dspl_2014"); arraylist<reportbean> list=new arraylist<reportbean>(); reportbean rb=new reportbean(); //------------------------------------------------------------------------------------------------------------ l1.info("city : "+city); string cmd="select * dsa.lead city='"+city+"' or status='"+status+"' or loanfor='"+loanfor+"' or bankname='"+bankname+"' or team='"+team+"'"; statement st=(statement) con.createstatement(); resultset rs=st.executequery(cmd); while(rs.next()) { rb.setusername(rs.getstring("username")); rb.setcity(rs.getstring("city")); rb.setloanamount(rs.getstring("loanamount")); rb.setstatus(rs.getstring("status")); rb.setbankname(rs.getstring("bankname")); l1.info("city is: "+rs.getstring("username")); list.add(rb); } if(list.isempty()) { target="yes"; } else{ target="success"; request.setattribute("list1", list); } homecoming mapping.findforward(target); } }
otput jsp page:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>jsp page</title> </head> <body> <h1>hello world!</h1> <table border="1"> <tr><th>user name :</th><th>city</th><th>loan amount</th><th>status</th><th> bank name</th></tr> <logic:iterate name="list1" id="a" > <tr><td><bean:write name="a" property="username" /></td> <td><bean:write name="a" property="city" /></td> <td><bean:write name="a" property="loanamount" /></td> <td><bean:write name="a" property="status" /></td> <td><bean:write name="a" property="bankname" /></td></tr> </tr> </logic:iterate> </table> </body>
you not cleaning up things after using resultset. might cause problem.
while(rs.next()) { rb.setusername(rs.getstring("username")); rb.setcity(rs.getstring("city")); rb.setloanamount(rs.getstring("loanamount")); rb.setstatus(rs.getstring("status")); rb.setbankname(rs.getstring("bankname")); l1.info("city is: "+rs.getstring("username")); list.add(rb); } //clean-up environment rs.close(); st.close(); con.close(); java jsp
No comments:
Post a Comment