通过javaScript将值传递给JSP

通过javaScript将值传递给JSP,第1张

通过javaScript将值传递给JSP

认为 您的意思是相反的,让服务器代码输出一个Javascript可以在页面加载时看到的值。

从服务器代码(JSP)发送到客户端代码(Javascript)

就像输出其他任何东西一样输出它,例如:

<%    boolean canModify   = UTIL.hasSecurity("PFTMODFY") && something;%>var canModify = <%=canModify%>;//  ^   ^//  |   +-- server-side variable//  +-- client-side variable

当JSP实际运行时,返回给客户端的脚本代码将只是

var canModify = false;

要么

var canModify = true;

这是一个布尔值;如果您需要输出一个字符串,则需要在其两边加上引号,并注意避免对其中应在Javascript文字字符串中进行转义的所有字符进行转义(例如,例如反斜杠以及所用的任何引号字符)
)。

从客户端代码(Javascript)发送到服务器代码(JSP)

但是,如果您 真的
想在页面加载时将值发送回服务器(这很奇怪,但是),您必须使用Ajax。如果您打算使用Ajax,我建议您使用jQuery,Closure,Prototype,YUI或其他任何一种库,因为它们可以为您大大简化流程。例如,使用jQuery,此客户端代码将值发送回服务器:

jQuery.get("/your/page/url", {"name": "value"});

(或

jQuery.post
用于做出更改的事物)。使用原型,它将是:

new Ajax.Request("/your/page/url", {    method:     "GET", // or, of couse, "POST"    parameters: {"name": "value"}});

我上面提到的所有库都具有类似的易于使用的机制,用于将数据发送到服务器。请注意,此机制受“
相同来源策略”约束。

你并不 需要 一个库对于这一点,当然-
任何一个图书馆能做到的,你可以做自己。我上面列出的功能都是该

XMLHttpRequest
对象的所有包装(Wikipedia,MSDN,MDC)。有关示例,请参见链接的资源。

非Ajax黑客

我不应该说您 需要 为此使用Ajax,更像您 想要的
那样。:-)如果由于某种原因您确实不想使用Ajax,可以通过使用Javascript向页面中添加一些内容来触发从服务器进行检索,然后在该请求中将您的值作为标志包括进来,来实现。例如:

var link = document.createElement('link');link.setAttribute('rel', 'stylesheet');link.src = "/path/to/jsp?name=" + enpreURIComponent(value);document.getElementsByTagName('head')[0].appendChild(link);

您的JSP将执行查询字符串所需的任何 *** 作,然后返回样式表中有效的任何内容(

例如)。或者,如果您不想使用样式表链接,请使用
img
标签并返回一个透明像素;等等

但是 我不会这样做 。我会用Ajax。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4962758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存