当前位置:编程学习 > JAVA >>

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

--------------------编程问答-------------------- EL 表达式会被转换成 JAVA 代码,JS 不可能直接调,客户端上的 JS 只是 Java 执行后生成的,你可以在浏览器上点右键查看源代码,看看生成的 JS 是怎样的;有一些 JS 框架可能会用到与 EL 表达式相近的语法,但这跟 EL 没有什么关系。 --------------------编程问答-------------------- 貌似有的js代码里也嵌套有struts2的标签
迷惑中 --------------------编程问答-------------------- 都可以使用的 --------------------编程问答-------------------- 11111111111111111 --------------------编程问答--------------------
引用 3 楼 xinlan1022 的回复:
都可以使用的
可是js是客户端的东西,怎么可以调用的了服务器端的JSTL或者struts标签呢? --------------------编程问答--------------------
引用 5 楼 onlyonelove 的回复:
引用 3 楼 xinlan1022 的回复:

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

js调用的是服务器解析完后response给客户端的内容啊。。汗 --------------------编程问答-------------------- js和el和struts压根就没关系过...
哪里看到js调用el了啊...
服务器动作都是在服务器端执行完成以后输出为文本了
请 - 查看源代码 --------------------编程问答-------------------- 所有页面上的东西都是经过服务器解析的,你说的各种表达式和直接用<%%>的java代码都一样,已经实解析过了。 --------------------编程问答-------------------- 楼主,你的这种迷惑是很多新手都经历过的,或者说突然从C/S桌面架构程序转到web开发的。
建议你研究一下html协议(是协议不是标签)原理和servlet原理,问题就解决了。 --------------------编程问答-------------------- 都可以。想用什么就用什么。看个人爱好吧 --------------------编程问答-------------------- <%@taglib uri="/struts-tags" prefix="s"%>写了吗? --------------------编程问答-------------------- --------------------编程问答-------------------- 你需要先搞清楚:JS 是在客户端执行的,而 EL、JSTL,以及各种 JSP tag 都是在服务端执行。

因此也可以认为 EL、JSTL 和各种标签是在服务端执行好后再通过网络传送给客户端,浏览器客户端收到后才会执行其中的 JS 脚本! --------------------编程问答-------------------- struts标签在js里没用过,不过jstl是一定可以在js里用的
,要注意的是把客户端执行的语句和服务端执行的语句分步写 --------------------编程问答-------------------- 你要知道JSP最后都是变为流输出
out.print()输出到页面的。 --------------------编程问答--------------------
引用 13 楼 bao110908 的回复:
你需要先搞清楚:JS 是在客户端执行的,而 EL、JSTL,以及各种 JSP tag 都是在服务端执行。

因此也可以认为 EL、JSTL 和各种标签是在服务端执行好后再通过网络传送给客户端,浏览器客户端收到后才会执行其中的 JS 脚本!
明白一些了。就是说js无法调用el和jstl了,是服务器生成后传递给客户端的。
服务器也可以选择性地生成js代码,所以看上去就像js调用了el和jstl了。 --------------------编程问答-------------------- 没接触过用JS调用el表达式的,好像只是在view页面用这些东西吧 --------------------编程问答--------------------
引用 1 楼 zssazrael 的回复:
EL 表达式会被转换成 JAVA 代码,JS 不可能直接调,客户端上的 JS 只是 Java 执行后生成的,你可以在浏览器上点右键查看源代码,看看生成的 JS 是怎样的;有一些 JS 框架可能会用到与 EL 表达式相近的语法,但这跟 EL 没有什么关系。

js是在客户执行的东西,el表达式是服务端的东西。 --------------------编程问答-------------------- js写在jsp文件里,jsp能用的标签,js就能用,
js单独写成一个文件,就啥标签都不能用。
一般不建议js使用乱七八糟的标签,否则我们主管看到一次就训你一次 --------------------编程问答-------------------- JS脚本由浏览器解释~ JSP Servlet在服务器上运行
说白了~ Servlet就是个规定如何往外界发数据的JAVA规范~  做Web的实现了http协议(传输一坨文本的协议~)

千万别认为客户端是直接访问到服务器的JSP文件,实际上,它会被那啥JSP容器翻译成Servlet~ 再由解释运行Servlet,给外界发数据(JS文本,HTML文本…………其它 xx 的~)。
然后浏览器收到数据~  然后…… …… 就没有然后了~ --------------------编程问答--------------------  就没有然后了 是亮点 --------------------编程问答--------------------
引用 6 楼 jkfjhwquhfasjdkhjhvj 的回复:
引用 5 楼 onlyonelove 的回复:
引用 3 楼 xinlan1022 的回复:

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

js调用的是服务器解析完后response给客户端的内容啊。。汗

++ --------------------编程问答-------------------- 学习中  看看高手的观点 为以后的学习奠定基础 --------------------编程问答-------------------- 首先一点 我没有见过js中用el表达式
你所见的表达式很可能就是用jquery写的,你误认为是jquery写的
struts标签是不能用在js当中,js中貌似不能使用标签
如果js中需要使用到后台的值,那我们可以把值设置在隐藏域中
然后通过Js获取 --------------------编程问答-------------------- JQuery有引用EL表达式吗?至少我不知道,它们都是使用"$"引用而已。楼主是不是搞混淆了?JQuery里面的$并不是EL表达式。 --------------------编程问答-------------------- 都可以写在JS中的。
    你可以在浏览器中查看 页面源码。  
    你就会发现你的标签,${}全没了。只剩下具体的值了
    对于js来说,你的各种标签,表达式,都只是一个常量。。。
    而且显示给用户的jsp其实还是要经过服务器处理才显示给用户的。 --------------------编程问答-------------------- 不能用啊,崩溃中…… --------------------编程问答-------------------- 应该不是js中嵌套el吧。请求内容到浏览器是。el中的内容已经被解析成字符串了
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,