我有2个jsp页面,我从frist页面向第二页发送了值,但是当我在输入标签中显示值时,值已经改变。我的编码有什么问题? 第一页:
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: "yy/mm/dd",
showOn: "focus"
});
});
</script>
JSP:
<p>Date: <input type="text" id="datepicker" name="datepicker"></p>
和Servlet:
HttpSession s= request.getSession();
String olddate= (String)request.getParameter("datepicker");
s.setAttribute("DATE", olddate);
RequestDispatcher rd = request.getRequestDispatcher("nextpage.jsp");
第二个页面JSP:
<%
HttpSession s= request.getSession();
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String date = s.getAttribute("DATE").toString();
Date dateto = sdf.parse(date);
String newDateString = sdf.format(dateto);
%>
<p>Date From: <input type="text" id="datefrompicker" readonly="readonly">/p>
和脚本:
$(document).ready(function(){
var date =<%=newDateString%>;
alert(dateto);
$( "#datefrompicker" ).datepicker( "setDate", date );
});
第一页的值是2015/11/01,警报中的值是91.5909090909091,而输入日期不是没有任何东西。
我做错了什么?
答案 0 :(得分:0)
在第一个代码部分dateFormat: "yy/mm/dd",
警告日期字符串 yyyy 中的年份格式,因此请使用SimpleDateFormat进行相应格式化。
Date.toString
方法返回无法通过DatePicker.setDate方法解析的日期字符串。
示例:强>
$( ".selector" ).datepicker( "setDate", "10/12/2012" );
请使用SimpleDateFormat格式化日期字符串,一切正常。