当用户输入日期与时间包括空格的时候,JSP<%= %>时候不能输出空格后的东西?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当用户输入日期与时间包括空格的时候,JSP<%= %>时候不能输出空格后的东西?相关的知识,希望对你有一定的参考价值。

想要动态保存用户的输入,我的方法是
<div align="center">请输入基站ID </div></td>
<td width="260"><div align="center">
<%
String number1=(String)session.getAttribute("number");
if(null!=number1)%>
<input type="text" name="number" value=<%=number1%>>
<%else%>
<input type="text" name="number" value="1001089">
<%
%>
其中number1就是动态要保存的值。但是提交后在文本框中只能显示空格前的内容,空格后的就不显示了。怎么通过JSP方法让他完整显示呢???
弄错代码了。应该是
<div align="center">请输入开始时间</div></td>
<td><div align="center">
<%
String begintime1=(String)session.getAttribute("begintime");
out.println(begintime1);
if(null!=begintime1)%>
<input type="text" name="begintime" value=<%= begintime1 %>>
<%else%>
<input type="text" name="begintime" value="2012-3-12 15:03:00">
<%
%>
不是number那段

在<input type="text" name="begintime" value=<%= begintime1 %>> 前,增加下面代码试试
begintime1.replace(" "," ");追问

begintime1.replace(" "," ");是什么意思?我的输入要求必须日期与时间中间是空格。

追答

哈哈,后面引号里的被百度替换掉了,应该是"&_n_b_s_p;",把_都去掉

追问

if(null!=begintime1)
begintime1.replace(" "," ");
%>
>

试过了,还是那样啊

追答

> value=后面加上双引号

参考技术A 在这里<input type="text" name="number" value=<%=number1%>>
显示是完整的?追问

用out.println("number1");能显示完整。比如2012-3-12 15:03:00。但是在文本框中显示就为2012-3-12

追答

你这个时间是通过文本框传过来的 还是另外的方式 给我看看 。

参考技术B 把<input type="text" name="number" value=<%=number1%>>
这个里面的number1中的1去掉试试追问

弄错代码部分了。应该是我后补充那部分

追答

你的意思是说假如判断你的输入为空的话就显示你下面那个日期时间值?

追问

是。一开始begintime1是空的。后来用户输入后begintime1能动态保存用户输入。但是正如代码显示,输出到文本框时候只能显示空格前部分

如何通过将正常日期和日期时间与时区进行比较来过滤数据?

我有一些数据存储在数据库中,我正在通过flask和flask-sqlalchemy访问和过滤。

我正在尝试根据startend日期过滤数据,这些数据将被用作URL中request.args.get()的用户输入。在数据库中,数据为"2020-05-12T00:00:00+02:00"格式,当用户输入日期时,他将只输入日期而不是时间或时区(例如:2020-05-12)。因此,基于用户为startend(包括end)输入的值,我想比较日期并返回这些值。但是,返回值必须具有原始日期格式

数据如下:

{
    "items": [
        {
            "id": 1,
            "value": 21.4,
            "start": "2020-05-12T00:00:00+02:00",
            "end": "2020-05-12T01:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 2,
            "value": 18.93,
            "start": "2020-05-12T01:00:00+02:00",
            "end": "2020-05-12T02:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 3,
            "value": 18.06,
            "start": "2020-05-13T02:00:00+02:00",
            "end": "2020-05-13T03:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 4,
            "value": 17.05,
            "start": "2020-05-13T03:00:00+02:00",
            "end": "2020-05-13T04:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 5,
            "value": 16.84,
            "start": "2020-05-14T04:00:00+02:00",
            "end": "2020-05-14T05:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 6,
            "value": 19.3,
            "start": "2020-05-14T05:00:00+02:00",
            "end": "2020-05-14T06:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        }]}

示例:

如果:

[start2020-05-12end2020-05-14,根据以上数据,必须返回以下数据:

{
    "items": [
        {
            "id": 1,
            "value": 21.4,
            "start": "2020-05-12T00:00:00+02:00",
            "end": "2020-05-12T01:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 2,
            "value": 18.93,
            "start": "2020-05-12T01:00:00+02:00",
            "end": "2020-05-12T02:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 3,
            "value": 18.06,
            "start": "2020-05-13T02:00:00+02:00",
            "end": "2020-05-13T03:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 4,
            "value": 17.05,
            "start": "2020-05-13T03:00:00+02:00",
            "end": "2020-05-13T04:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        },
        {
            "id": 5,
            "value": 16.84,
            "start": "2020-05-14T04:00:00+02:00",
            "end": "2020-05-14T05:00:00+02:00",
            "country_code": "DE",
            "price_type": "DAY_AHEAD"
        }]}
答案

如果您从request.args.get()中获取值,如下所示:

start_date = request.args.get('start')
end_date = request.args.get('end')

然后您可以使用dateutil.parser.parse将日期解析为isoformat(),然后对其进行过滤:

start_date = dateutil.parser.parse(filters['start']).isoformat()
end_date = dateutil.parser.parse(filters['end']).isoformat()
items = YourModel.query.filter(YourModel.start >= start_date).filter(YourModel.end <= end_date)

以上是关于当用户输入日期与时间包括空格的时候,JSP<%= %>时候不能输出空格后的东西?的主要内容,如果未能解决你的问题,请参考以下文章

从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别

java中经过if语句判断后想弹出提示对话框 如何写代码?要求是(若用户名或密码为空(包括空格字符)则提示

JSP 的 <% %> 是不是与 <? ?> 对于 PHP?

jsp页面用户登录输入框无法对齐.求教

日期计算

如何从props传递对象获取默认日期为特定日期