EL全名Expression Language.EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能。

脚本编制元素是指页面中能够用于在JSP文件中嵌入java代码的元素。

JSP标准标记库(jsp staandard tag library,jstl)是一个实现web应用程序常用功能的定制标记库集。有c标签。fmt标签,sql标签,xml标签,fn标签等.

EL表达式与jstl有何不同?

El表达式的出现主要是为了使jsp的使用更简单,减少java的代码,一般与jstl配合使用,但有时会出现一些疑问。

简单的说,EL是用来显示数据的,功能跟<%=表达式%> 一样,EL是不需要引入什么东西的,而jstl通常用一些逻辑控制,核心标签库常用的是if和forEach。

例如,有一个对象,User,User有个属性userName,

${sessionScope.user.userName},相当于

<%

User user=(User) session.getAttribute("user");

out.print(usre.userName);

%>

上面是嵌套在jsp中的java代码。

有时候,我们需要跟js交互数据,

可以在js中这样写:

方法一:

var userName= "${user.userName}";//注意要有双引号

同时,我们要明白 jstl的标签会转化为服务器端的代码执行,而js代码则在客户端执行。

如果js代码在jsp文件中,这样写是可以的 ,但如果是放在引入的js文件,这样是不起作用的,因为EL表达式是在服务端执行的,服务端执行完成后再传给客户端的,js是在客户端执行的,el在js前就被执行了。

方法二:

有时候我们把需要引用的全局变量写在一个jsp中,使用java代码

把引入的外部js改为jsp文件,然后在jsp页面中引入<script src="myjs.jsp"></script>

然后在jsp页面中引入myjs.jsp,

<script src="myjs.jsp" type="text/javascript"></script>

<%
String url = "http://" + request.getServerName(); //服务器地址

}

%>
<script type="text/javascript">

var url='<%=url%>';

</script>

或者
<c:set var="webRoot" value="<%=url%>" />

方法三:隐藏域

这个简单,<input type="hidden" id="text1" value="${user.userName}">

然后在js中直接获取id为text1的值就可以了。

方法四,ajax访问后台方法,request.getSession.getAttribute("user");

返回业务给js逻辑处理。

转载于:https://www.cnblogs.com/yansum/p/5742964.html

java,js,jstl,EL的简单交互相关推荐

  1. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  2. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

  3. jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

    转载自   jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结 为什么使用该功能? 项目中的每个页面都包含产品名称.Logo.版本等信息,我希望修改一处,其它所有的全部跟着变 ...

  4. jsp java el_jsp之EL表达式

    EL表达式 1. 什么是EL表达式 jsp中的EL(express language)表达式技术:它仅仅是表达式. EL表达式的功能: 获取4个内置对象(域)中的数据,或自定义对象中的数据,或数组.集 ...

  5. java 代码执行el,专属于java的漏洞——EL表达式注入

    前言"FSRC经验分享"系列文章,旨在分享焦点科技信息安全部工作过程中的经验总结,包括但不限于漏洞分析.运营技巧.sdl推行.等保合规.自研工具等等. 欢迎各位安全从业者持续关注~ ...

  6. JSTL/EL表达式/Struts2标签/OGNL表达式

    文章目录 JSTL + EL表达式 Struts 标签 + OGNL表达式 JSTL + EL表达式 JSTL 只能用在 JSP 文件中,不可以在 XML 和 HTML 文件中使用,不可以用在 JS ...

  7. java 向nodejs 发送请求简单案例

    java  向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...

  8. 超强一代JupyterLab发布,可视化调试、中文显示、简单交互界面

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...

  9. java图片简单爬虫_[Java教程]使用jsoup进行简单的爬虫操作爬取图片

    [Java教程]使用jsoup进行简单的爬虫操作爬取图片 0 2015-12-01 17:00:27 package com.guanglan.util;import java.io.File;imp ...

最新文章

  1. Intelij IDEA管理git之远程代码冲突解决方案
  2. 世界机器人大会特种机器人报到高难度的高危险的活让它们来!
  3. VC++更改主窗口标题栏文字
  4. 用策略屏蔽135 139 445 3389端口+网络端口安全防护技
  5. MySQL如何存储Emoji表情,UTF-8和UTF-8MB4字符编码有何区别
  6. Redis设计与实现AOF持久化
  7. 最便宜的855旗舰了,可惜是它
  8. 【Elasticsearch】你看懂 Elasticsearch Log 中的 GC 日志了吗?
  9. Yarn篇--搭建yarn集群
  10. 计算机三级之嵌入式系统学习笔记4
  11. 【图像处理】空间滤波、中值滤波(Spatial Filtering and Median Filtering)
  12. 理解vue中if和for指令不能同时使用
  13. 【PAT乙】1003 我要通过! (20分) 字符串条件判定
  14. 文件和参数一起上传_基于netty的文件上传下载组件
  15. delphi代码在linux编译运行,[教程] Delphi 10.2 Linux 程序开发环境部署的基本步骤
  16. mysql语法检查工具_sql语法分析器(sql语法分析工具)
  17. PID算法理解和代码以及PID调参
  18. 网络TCP/IP基础(IP地址网络汇总与规划)
  19. Zip函数教程(简单示例)
  20. 合并多个集合同类项{aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}通过编程实现结果为:{aaa,bbb,ccc,ddd,hhh},{eee,fff},

热门文章

  1. ARCGIS中某字段递增赋值
  2. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int
  3. redis java切片_jedis 单点配置
  4. java arraylist和list_Java中ArrayList和LinkedList区别
  5. c语言 栈求解表达式_非线性方程组的编程求解方法
  6. php打印出来乱码_PHP输出中文乱码的解决方法(转载)
  7. MySQL面试题 | 附答案解析(四)
  8. 【python语言基础】疑难点整理1
  9. 咕泡学院:(1)唐宇迪python课程作业
  10. PCA(1):基础知识介绍