在2个jsp页面之间传递值时,值已更改

时间:2015-11-03 14:15:56

标签: javascript java jsp servlets

我有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,而输入日期不是没有任何东西。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在第一个代码部分dateFormat: "yy/mm/dd",警告日期字符串 yyyy 中的年份格式,因此请使用SimpleDateFormat进行相应格式化。

Date.toString方法返回无法通过DatePicker.setDate方法解析的日期字符串。

示例:

$( ".selector" ).datepicker( "setDate", "10/12/2012" );

请使用SimpleDateFormat格式化日期字符串,一切正常。