是否可以调用javaScript服务器端?

时间:2010-10-31 11:03:14

标签: java jsp servlets

所有的问候 我想知道是否可以在控制器的响应中发送一些javaScript代码 意思是我想调用javaScript而不是来自jsp(来自服务器端) 类似的东西:

var d = new Date();
var gmtHours = -d.getTimezoneOffset()/60;
var tz=gmtHours;
window.location="page?tz="+tz;
你觉得男人怎么样?

2 个答案:

答案 0 :(得分:0)

我仍然不太清楚这个问题。但是,当您从服务器返回响应时,您要求调用javavscript,而不是使用AJAX并在回调中进行处理。

如果要访问时区而不是另一种方式,将其作为参数的一部分在开头作为请求参数本身发送。

答案 1 :(得分:0)

答案分为两部分:

当答案从服务器返回时执行JavaScript。要做到这一点,你可以在html中使用Javascript,例如

<script>
    alert("This code just executed");
</script>

通常人们有类似

的东西
<script>
    function init() {
    document.getElementsByTagName('input')[0].focus();"
    }
    window.onload = init;
</script>

它将在Windows加载时执行您的功能。

您似乎想知道要显示结果的用户的时区。如上所述,HTTP标头没有此信息,因此您需要提交或存储为用户首选项。 如果您不想存储它,则需要将其添加到每个提交或URL。这样,您将始终在服务器端拥有时区,而您无需进行2次往返。

工作流程可能如下所示: 1.用户提交表单或单击链接 - &gt; 2.您在服务器端形成结果 - &gt; 3.在客户端显示结果。

您希望显示特定于时区的某些日期/时间。如果您使用ajax将数据发送到客户端,则可以在步骤3之前使用javascript获取数据并根据您的偏好进行更改。 如果要在服务器端执行所有格式化,则需要在步骤1中使用原始请求提交时区。 您可以添加2个步骤1.2提交时区请求作为对用户操作的响应。 1.3使用javascript重新提交带有时区信息的请求。这不是最佳选择,但可以奏效。