
在谈论相关内容之前,您必须熟悉jsp的操作原理:
el表达式(当使用el表达式直接获取值时el表达式,例如$ {msg},则不需要为msg提供set get方法;但是在获取对象的属性值时,例如user.name,您必须在name属性中提供set get方法)是与jsp相关的概念,它在服务器端执行,然后在服务器端执行后传递给客户端浏览器,执行js在客户端浏览器上,el在执行js之前已经存在. EL,JSTL和其他各种标签在服务器上执行,然后通过网络传输给客户端. 浏览器客户端将在收到js脚本后执行该脚本. 换句话说,当el表达式生效时,js代码仍然是所有文本. 当js有效时,el表达式消失了. 您可以在浏览器中查看源代码,并且会发现el标记$ {}全部消失了,它们都转换为特定值. jsp和js不在平面上,它们无法同时执行,它们没有任何交集. 因此标题中的“使用”一词使用双引号. 不是js实际上使用el表达式,而是el表达式的最终转换值.
类似地,对于在js中“使用” Java代码,这与使用el表达式的原因相同: JSP首先编译Java代码以形成完整的页面,然后将其发送到客户端. 客户端执行. 执行js后,js不再能看到Java代码.
如何在js代码(代码段或js文件中的代码)中获取el表达式的值或java代码的值?可以通过以下方式获得它:

jsp文件中的
js获取jsp页面中el表达式的值: var aaa =“ $ {message}”
jsp文件中的
js在jsp页面中获取Java代码的变量值: var aaa =“ <%= JAVA变量名称%>”

因此el表达式,首先在jsp文件中: 定义js变量以获取el表达式的值或java代码的值:
Jsp代码
![]()

然后在其他js代码段或js文件中,您可以直接访问aaa和nnn.
您可能已经注意到,上面的el表达式和Java代码用引号引起来. 这样,无论值是什么类型,它都将转换为字符串. 如果未使用el表达式和Java代码怎么办?见下文:
Jsp代码
![]()

因此,如果值是字符串类型,则最好添加引号;如果是数字类型,则可以添加(将其转换为字符串),也可以不添加(数字类型). 参考:
摘要:
el表达式和Java代码不能直接在js文件中使用(浏览器无法识别jsp中的诸如el之类的标签: 返回给客户端的结果是JSP文件执行的结果,并且确实不包含任何JSP语法). 但是el表达式,java代码,js脚本,jstl标记等都可以在jsp文件中使用,因此,如果要使用el expression的值或js代码中的java代码的值,则可以通过这样的桥梁通过jsp文件实现目标!
js是写在jsp文件中的,jsp可以使用的标签(el表达式,jstl标签,java代码等)可以使用,js可以使用; js是作为文件编写的,不能使用任何标签. 没用但是,通常不建议js使用凌乱的jsp标签.
附加:
JSTL核心标记库的使用:
EL表达式:
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-200758-1.html
马云忽悠了太做淘宝卖家亏得一踏糊涂