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逻辑处理。

java,js,jstl,EL的简单交互的更多相关文章

  1. js/jstl/el的区别

    JavaScript 学习的路径:http://www.w3school.com.cn/js/js_intro.asp 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服 ...

  2. iOS中js与objective-c的简单交互

    1.首先是objective-c调用js中的代码,可以用UIWebview中的一个方法 stringByEvaluatingJavaScriptFromString:后面接的是js中的方法名.这个函数 ...

  3. Java学习——JSTL标签与EL表达式之间的微妙关系

    原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相 ...

  4. 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. 动态参 ...

  5. 转载:js和as间的交互

    转载一: 提及AS3与外部脚本的交互,笔者认为可以总结成两种.一是AS3调用外部函数,二是外部脚本调用AS3函数.无外乎就 这两种.在调用函数的同时,我们还可以向函数传递一些参数.这就达到了传递数据的 ...

  6. [Java.web]JSTL 使用

    <%@ page import="cn.itcast.domain.Person"%> <%@ page language="java" im ...

  7. 学习HTML 第五节.简单交互 加个按钮

    学习HTML 第五节.简单交互 也许你和我一样,对页面排版的兴趣小于网页交互,那么我们就先略过一些章节,直接先学一下简单交互. 前面点击图片打开链接的网址,已经是最简单的交互方式了,复杂的方式则需要用 ...

  8. H5学习之--前端和PHP后端的简单交互

    最近在学习前端的东西,H5+CSS3+JS,又分别学习了原生JS和jQuery库,还有Bootstrap框架,因为我是做ios开发的,所以先熟悉WebApp相关的开发知识,其他的学习资料,网上有很多的 ...

  9. java Web JSTL介绍及基本应用

    由于实际开发中我们一般不能在jsp页面上写java代码,而el表达式也做不了判断 循环之类的复杂操作,为了弥补这些缺点,所以就有了JSTL. 简介 JavaServer Pages Standard ...

随机推荐

  1. 第三方登录 (faceBook )

    1.iOS 第三方登录(Facebook,Twitter...)http://www.jianshu.com/p/f64d5ad2ef2a

  2. offline .net3.5

    1.加载虚拟光驱 2.dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\sources\sxs

  3. 学习C++.Primer.Plus 7 函数

    C++的返回值类型不能是数组 函数原型中的变量名相当于点位符,因此不要求提供变量名. void cheers(int); C++中不指定参数列表时就使用活力号: void saybye(...); 通 ...

  4. 【转】加快网站访问速度——Yslow极限优化

    Yslow是一套雅虎的网页评分系统,详细的列出了各项影响网页载入速度的参数,这里不做多说. 我之前就一直参考Yslow做博客优化,经过长时间的学习也算是有所收获,小博的YslowV2分数达到了94分( ...

  5. visual studio 2012 的制作ActiveX、打包和发布

    开发环境是Vs 2012  Framework 4.0 源码和制作工具在文章最下边 一. ActiveX控件Demo 新建一个Window窗体控件库项目 在自动生成的UserControl1页面上添加 ...

  6. 如何限制虚拟主机可使用的CPU资源

    使用IIS 6.0运营虚拟主机的朋友们都会碰到这样一个问题,当某个网站占用大量CPU资源时,会把整个服务器都拖慢了,影响服务器上其他网站的访问速度,客户们的投诉也让系统管理员倍感头疼.我们知道,从II ...

  7. 360demo--关于WM_GETMINMAXINFO

    在duilib的demo中,看到这么一段: LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa ...

  8. Android 轻量级输入校验库:Fire Eye

    Fire Eye是一款轻量级简单易用的Android校验库. FireEye 2.0 在 1.0 的基础上,全部重写了代码,并优化了架构,性能上和逻辑上都大大提升.只需要几行代码,即可验证用户输入,并 ...

  9. 枚举型Enum和结构型Stuct

    枚举型实质就是使用符号来表示的一组相互关联的数据. Season currentSeason,nextSeason; currentSeason = Season.Spring; nextSeason ...

  10. 理解 charging ic spec

    如何選擇1個適合您的 charging ic 呢? 主要考量以下 parameters charging ic 的 IIN, VIN charging ic 給 battery 的 IIN, VIN ...