站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题关于JSP获取查询参数乱码的问题

关于JSP获取查询参数乱码的问题

摘要: 关于JSP获取查询参数乱码的问题


CertBean.java:

package test.model;

import java.sql.ResultSet;
import java.util.Vector;

public class CertBean {

private String certno;
private String certdesc;
private String empname;
private String signdate;
private String outdate;
private String finishflag;
private String senttimes;
private String lsenttime;

public CertBean(String certno, String certdesc, String empname, String signdate, String outdate, String finishflag, String senttimes, String lsenttime) {
this.certno = certno;
this.certdesc = certdesc;
this.empname = empname;
this.signdate = signdate;
this.outdate = outdate;
this.finishflag = finishflag;
this.senttimes = senttimes;
this.lsenttime = lsenttime;
}

public String getCertno(){
return certno;
}

public void setCertno(String certno){
this.certno = certno;
}

public String getCert_desc(){
return certdesc;
}

public void setCert_desc(String certdesc){
this.certdesc = certdesc;
}

public String getEmp_name(){
return empname;
}

public void setEmp_name(String empname){
this.empname = empname;
}

public String getSign_date(){
return signdate;
}

public void setSign_date(String sign_date){
this.signdate = signdate;
}

public String getOut_date(){
return outdate;
}

public void setOut_date(String outdate){
this.outdate = outdate;
}

public String getFinish_flag(){
return finishflag;
}

public void setFinish_flag(String finishflag){
this.finishflag = finishflag;
}

public String getSent_times(){
return senttimes;
}

public void setSent_times(String senttimes){
this.senttimes = senttimes;
}

public String getLsent_time(){
return lsenttime;
}

public void setLsent_time(String lsenttime){
this.lsenttime = lsenttime;
}

public static Vector getCertList() {
Vector CertList = new Vector();
String strsql = "select a.certno,a.cert_desc,b.emp_name,a.sign_date,a.out_date,a.finish_flag,a.sent_times,a.lsent_time from cert_info a,staff_info b where a.empno=b.empno";
DBUtil DBUtil = new DBUtil();
ResultSet rs = DBUtil.executeQuery(strsql);
while(DBUtil.rs_next()){
CertBean cert = new CertBean(DBUtil.rs_getString("certno"), DBUtil.rs_getString("cert_desc"), DBUtil.rs_getString("emp_name"), DBUtil.rs_getString("sign_date"), DBUtil.rs_getString("out_date"), DBUtil.rs_getString("finish_flag"), DBUtil.rs_getString("sent_times"), DBUtil.rs_getString("lsent_time"));
CertList.add(cert);
}
DBUtil.rs_close();
DBUtil.stmt_close();
DBUtil.conn_close();
return CertList;
}

}

DisplayTag.java:
package test.tags;

import cn.com.bpzr.admin.JavaBeans.CertBean;
import cn.com.bpzr.admin.JavaBeans.Constants;
import java.util.Vector;
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspTagException;

public final class DisplayTag extends TagSupport {

public int doEndTag() throws JspException{
JspWriter out = pageContext.getOut();
HttpSession session = pageContext.getSession();
try{
Vector certList = CertBean.getCertList();

out.println("<table border=/"2/" cellspacing=/"0/" cellpadding=/"0/">");
out.println("<tr>");
out.println("<th BGCOLOR=/"#00FF00/">Certno</th>");
out.println("<th BGCOLOR=/"#00FF00/">Cert_Desc</th>");
out.println("<th BGCOLOR=/"#00FF00/">Emp_name</th>");
out.println("<th BGCOLOR=/"#00FF00/">Sign_date</th>");
out.println("<th BGCOLOR=/"#00FF00/">Out_date</th>");
out.println("<th BGCOLOR=/"#00FF00/">Finish_flag</th>");
out.println("<th BGCOLOR=/"#00FF00/">Sent_times</th>");
out.println("<th BGCOLOR=/"#00FF00/">Lsent_time</th>");
out.println("</tr>");

for(int i=0;i<=certList.size();i++){
CertBean bean = (CertBean)certList.elementAt(i);
out.println("<tr>");
out.println("<td>" + bean.getCertno() + "</td>");
out.println("<td>" + bean.getCert_desc() + "</td>");
out.println("<td>" + bean.getEmp_name() + "</td>");
out.println("<td>" + bean.getSign_date() + "</td>");
out.println("<td>" + bean.getOut_date() + "</td>");
out.println("<td>" + bean.getFinish_flag() + "</td>");
out.println("<td>" + bean.getSent_times() + "</td>");
out.println("</tr>");
}

out.println("</table>");
}catch (Exception ex){
throw new JspTagException("IOException:" + ex.toString());
}
return super.doEndTag();
}
}

参考了孙卫琴的代码,结果在单步运行时发现,displaytag总是会进到throw new JspTagException("IOException:" + ex.toString());中去,导致运行不正确。
我看来看去觉得没有什么问题,现来此请教大家,帮忙看看是什么问题。


没有人来回答吗?


孙卫琴的书你也敢买?


ex.toString()的内容是什么?
DBUtil.rs_next()和rs.next()是等价的吗?如果是那就没有必要包装到DBUtil类了吧?
HttpSession session = pageContext.getSession();这一行起什么作用的呢?


找到原因了,粗心啊
仔细检查代码发现
for(int i=0;i<=certList.size();i++)
应该是
for(int i=0;i真想给自己一个耳光,唉……


↑返回目录
前一篇: 求算法。
后一篇: 求助:正则表达式的用法