servlet向jsp传值,参数改变了,该如何解决

servlet向jsp传值,参数改变了
如题,servlet中传递参数给jsp,但是jsp中接收的值却改变了,code应该是00010001,现在变成了4097,是什么原因,请高手解答
servlet
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ruixin.dao.ReportDao;

public class ReportServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**
 * 请求Servlet方法
 */
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletExceptionIOException {

String code = req.getParameter("code");
String type = req.getParameter("type");
String startDate = req.getParameter("startDate");
String endDate = req.getParameter("endDate");

ReportDao reportDao=new ReportDao();
List reportList=reportDao.getReportInfo(code, startDate, endDate,type);
req.setAttribute("reportList", reportList);
System.out.println(code);
req.setAttribute("oldcode", code);
req.getRequestDispatcher("report.jsp").forward(req, resp);
}

}


jsp中获取内容
  
    <%String oldcode=(String)request.getAttribute("oldcode");%>
    var oldcode = <%=oldcode%>;
    alert(oldcode);


------解决思路----------------------
那是js的问题,不是jsp,在输出的时候两边加上引号
------解决思路----------------------
加双引号试试
var oldcode = “<%=oldcode%>”;

------解决思路----------------------
应该是js类型的属性问题,js是属性弱类型的语言,
你想要输出的是string类型的,而js不存在什么string,int类型,
所以js拿到之后,应该是做了类似于二进制的处理,
应该加个引号就能解决问题了。