【问题标题】:Converting JavaScript function to Java将 JavaScript 函数转换为 Java
【发布时间】:2010-11-11 14:37:38
【问题描述】:

我想将此代码从 JavaScript 更改为 Java servlet。谁能指导我找到解决方案?

 var dob1 =  document.getElementById(id).value;
 var today = new Date(),
 dob = new Date(dob1),
 age = new Date(today - dob).getFullYear() - 1970;

【问题讨论】:

  • 也许你的意思是Javascript?重新标记。
  • 难道不是 JavaScript 代替了 HTML...或者只是用哪种语言编写了您提供的代码?看看 JS/Java 的混合体
  • 不,我想在 java servlet 中使用这个函数。所以我想要这个的 java servlet 代码
  • 使用 servlet,对于第一行代码,您需要执行 request.getParameter("name of field"); Servlet 没有选择带有 id 的东西。在那之后,SimpleDateFormat 和 Date 类会让你继续前进。
  • 作为 servlet 的 DOM 访问可能有点棘手,为什么不说明 servlet 的目标呢?是根据http参数还是别的来计算年龄?

标签: java javascript servlets


【解决方案1】:

使用Calendar API。

String dobString = "1978-03-26";
Date dobDate = new SimpleDateFormat("yyyy-MM-dd").parse(dobString);

Calendar dobCalendar = Calendar.getInstance();
dobCalendar.setTime(dobDate);
Calendar today = Calendar.getInstance();
int age = -1;

while (today.after(dobCalendar)) {
    age++;
    today.add(Calendar.YEAR, -1);
}

System.out.println(age); // 32

由于Calendar API 很糟糕,我建议改为JodaTime

String dobString = "1978-03-26";
DateTime dobDate = DateTimeFormat.forPattern("yyyy-MM-dd").parseDateTime(dobString);
DateTime today = new DateTime();
int age = Years.yearsBetween(dobDate, today).getYears();
System.out.println(age); // 32

【讨论】:

  • 我使用日期选择器和日期格式。我已经在 jsp 代码中实现了这个,我想在 servlet 中实现相同的代码
  • 好的。是什么阻止你这样做? (注意 JSP != JavaScript)
  • 是的,我知道。让我给你我的jsp代码和servlet代码。
  • 函数 getAge(id) { getFormattedDate(id); var dob1 = document.getElementById(id).value; var today = new Date(), dob = new Date(dob1), age = new Date(today - dob).getFullYear() - 1970; document.getElementById('age').value = age; }
  • 这是一个将 JSP 代码转换为 Servlet 的 Ant 文件(我自己没有尝试过)。您应该阅读一些 jsp/servlet 教程。 arulraj.net/2010/04/jsp-to-servlet-converter.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 2022-01-04
  • 2016-11-26
  • 2015-09-28
  • 1970-01-01
相关资源
最近更新 更多