在两个jsp页面之间传递值时,值发生了更改

Value have changed when pass value between 2 jsp pages

本文关键字:发生了 之间 两个 jsp      更新时间:2023-09-26

我有2个jsp页面,我将值从第一个页面发送到第二个页面,但当我在input标记中显示值时,值已经更改。我的密码怎么了?第一页:

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

我做错了什么?

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

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

示例:

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

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