当js中含有el表达式时 可以提取到.js吗

当js中含有el表达式时 可以提取到.js吗,第1张

首先纠正,js里不能使用EL表达式。EL表达式在服务器端执行,输出表达式结果到JSP页面。而js是在客户端执行的。 你的问题在于EL表达式是直接输出文本,并不知道上下文环境是HTML还是JS或是其他什么。这样就会导致输出的文本有时候语法不正确。

通过request的getParameter的方法获取
1、通过requestgetParameter("参数名")获取后台的值
2、通过<%=变量%>的方式赋给js变量
示例:
<script>
<%
String s2 = (String)requestgetParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言
%>
var s = '<%=s2%>';//输出s2给js变量s
</script>

一,js 通过ajax请求请求后台,然后后台通过writer 直接写回浏览器。 *** 作如下:responsesetContentType("application/json;charset=utf-8");responsegetWriter()write(jsonStr);//json格式的字符串此时js接收到的数据就是js的JSON对象了二, 如果js中拿到的是json格式的字符串,可以通过 eval('(' + text + ')');来转换为json字符串三,如果你想用el表达式,那就在reqeust中放置你需要的数据对象,然后再jsp中就可以通过el表达式来进行填充了;例如,你在后台reqeustsetAttribute('info',map);//将map放入request中转向前台jsp时,就可以用${infokey}来显示对应的值了

js是客户端执行,el是在服务端执行,而服务端比客户端先执行,所以你不能用js来改变已经执行的el表达式的值,但是却可以用el来给js初始化传值,这和jsp脚本是一样的效果,但是如果js脚本不是在jsp页面里而是在单独的js文件里,这时用el初始传值是不起作用的,但你可以通过windowonload()来得到el的值再传送给js文件里的方法进行变量初始化


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

原文地址: https://outofmemory.cn/yw/13335983.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-17
下一篇 2023-07-17

发表评论

登录后才能评论

评论列表(0条)

保存