为什么js可以使用EL表达式,却不能使用JSTL或者struts标签呢?

999朵玫瑰 2012-02-09 03:33:34
看到很多项目里js里很多地方调用EL表达式,却没有使用JSTL或者struts标签的例子。
有些大牛说,JSTL或者struts标签是服务器端的东西,客户端的js怎可调用?
那为什么EL表达式既可以在服务器端使用又可以再客户端的js里使用呢?
为什么js可以使用EL表达式,却不能使用JSTL或者struts标签呢?
...全文
1197 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgc0907 2013-11-01
  • 打赏
  • 举报
回复
应该不是js中嵌套el吧。请求内容到浏览器是。el中的内容已经被解析成字符串了
  • 打赏
  • 举报
回复
不能用啊,崩溃中……
七_号 2012-03-16
  • 打赏
  • 举报
回复
都可以写在JS中的。
你可以在浏览器中查看 页面源码。
你就会发现你的标签,${}全没了。只剩下具体的值了
对于js来说,你的各种标签,表达式,都只是一个常量。。。
而且显示给用户的jsp其实还是要经过服务器处理才显示给用户的。
零度F 2012-03-15
  • 打赏
  • 举报
回复
学习中 看看高手的观点 为以后的学习奠定基础
shusheng1997 2012-03-15
  • 打赏
  • 举报
回复
JQuery有引用EL表达式吗?至少我不知道,它们都是使用"$"引用而已。楼主是不是搞混淆了?JQuery里面的$并不是EL表达式。
Motte2010 2012-03-15
  • 打赏
  • 举报
回复
首先一点 我没有见过js中用el表达式
你所见的表达式很可能就是用jquery写的,你误认为是jquery写的
struts标签是不能用在js当中,js中貌似不能使用标签
如果js中需要使用到后台的值,那我们可以把值设置在隐藏域中
然后通过Js获取
s478853630 2012-03-14
  • 打赏
  • 举报
回复
js写在jsp文件里,jsp能用的标签,js就能用,
js单独写成一个文件,就啥标签都不能用。
一般不建议js使用乱七八糟的标签,否则我们主管看到一次就训你一次
Acesidonu 2012-03-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jkfjhwquhfasjdkhjhvj 的回复:]

引用 5 楼 onlyonelove 的回复:
引用 3 楼 xinlan1022 的回复:

都可以使用的
可是js是客户端的东西,怎么可以调用的了服务器端的JSTL或者struts标签呢?

js调用的是服务器解析完后response给客户端的内容啊。。汗
[/Quote]
++
ldhbq2014 2012-03-14
  • 打赏
  • 举报
回复
就没有然后了 是亮点
胡小来 2012-03-14
  • 打赏
  • 举报
回复
JS脚本由浏览器解释~ JSP Servlet在服务器上运行
说白了~ Servlet就是个规定如何往外界发数据的JAVA规范~ 做Web的实现了http协议(传输一坨文本的协议~)

千万别认为客户端是直接访问到服务器的JSP文件,实际上,它会被那啥JSP容器翻译成Servlet~ 再由解释运行Servlet,给外界发数据(JS文本,HTML文本…………其它 xx 的~)。
然后浏览器收到数据~ 然后…… …… 就没有然后了~
赵Andy 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zssazrael 的回复:]

EL 表达式会被转换成 JAVA 代码,JS 不可能直接调,客户端上的 JS 只是 Java 执行后生成的,你可以在浏览器上点右键查看源代码,看看生成的 JS 是怎样的;有一些 JS 框架可能会用到与 EL 表达式相近的语法,但这跟 EL 没有什么关系。
[/Quote]
js是在客户执行的东西,el表达式是服务端的东西。
jacksjjjacksjj 2012-02-29
  • 打赏
  • 举报
回复
没接触过用JS调用el表达式的,好像只是在view页面用这些东西吧
999朵玫瑰 2012-02-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 bao110908 的回复:]

你需要先搞清楚:JS 是在客户端执行的,而 EL、JSTL,以及各种 JSP tag 都是在服务端执行。

因此也可以认为 EL、JSTL 和各种标签是在服务端执行好后再通过网络传送给客户端,浏览器客户端收到后才会执行其中的 JS 脚本!
[/Quote]明白一些了。就是说js无法调用el和jstl了,是服务器生成后传递给客户端的。
服务器也可以选择性地生成js代码,所以看上去就像js调用了el和jstl了。
coooliang 2012-02-28
  • 打赏
  • 举报
回复
你要知道JSP最后都是变为流输出
out.print()输出到页面的。
  • 打赏
  • 举报
回复
你需要先搞清楚:JS 是在客户端执行的,而 EL、JSTL,以及各种 JSP tag 都是在服务端执行。

因此也可以认为 EL、JSTL 和各种标签是在服务端执行好后再通过网络传送给客户端,浏览器客户端收到后才会执行其中的 JS 脚本!
JW森 2012-02-25
  • 打赏
  • 举报
回复
struts标签在js里没用过,不过jstl是一定可以在js里用的
,要注意的是把客户端执行的语句和服务端执行的语句分步写
yugaochao 2012-02-24
  • 打赏
  • 举报
回复
都可以。想用什么就用什么。看个人爱好吧
NewMoons 2012-02-24
  • 打赏
  • 举报
回复
楼主,你的这种迷惑是很多新手都经历过的,或者说突然从C/S桌面架构程序转到web开发的。
建议你研究一下html协议(是协议不是标签)原理和servlet原理,问题就解决了。
gukuitian 2012-02-24
  • 打赏
  • 举报
回复
所有页面上的东西都是经过服务器解析的,你说的各种表达式和直接用<%%>的java代码都一样,已经实解析过了。
beiouwolf 2012-02-24
  • 打赏
  • 举报
回复
js和el和struts压根就没关系过...
哪里看到js调用el了啊...
服务器动作都是在服务器端执行完成以后输出为文本了
请 - 查看源代码
加载更多回复(7)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧