java,js,jstl,EL的简单交互
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的简单交互的更多相关文章
- js/jstl/el的区别
JavaScript 学习的路径:http://www.w3school.com.cn/js/js_intro.asp 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服 ...
- iOS中js与objective-c的简单交互
1.首先是objective-c调用js中的代码,可以用UIWebview中的一个方法 stringByEvaluatingJavaScriptFromString:后面接的是js中的方法名.这个函数 ...
- Java学习——JSTL标签与EL表达式之间的微妙关系
原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相 ...
- 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. 动态参 ...
- 转载:js和as间的交互
转载一: 提及AS3与外部脚本的交互,笔者认为可以总结成两种.一是AS3调用外部函数,二是外部脚本调用AS3函数.无外乎就 这两种.在调用函数的同时,我们还可以向函数传递一些参数.这就达到了传递数据的 ...
- [Java.web]JSTL 使用
<%@ page import="cn.itcast.domain.Person"%> <%@ page language="java" im ...
- 学习HTML 第五节.简单交互 加个按钮
学习HTML 第五节.简单交互 也许你和我一样,对页面排版的兴趣小于网页交互,那么我们就先略过一些章节,直接先学一下简单交互. 前面点击图片打开链接的网址,已经是最简单的交互方式了,复杂的方式则需要用 ...
- H5学习之--前端和PHP后端的简单交互
最近在学习前端的东西,H5+CSS3+JS,又分别学习了原生JS和jQuery库,还有Bootstrap框架,因为我是做ios开发的,所以先熟悉WebApp相关的开发知识,其他的学习资料,网上有很多的 ...
- java Web JSTL介绍及基本应用
由于实际开发中我们一般不能在jsp页面上写java代码,而el表达式也做不了判断 循环之类的复杂操作,为了弥补这些缺点,所以就有了JSTL. 简介 JavaServer Pages Standard ...
随机推荐
- 第三方登录 (faceBook )
1.iOS 第三方登录(Facebook,Twitter...)http://www.jianshu.com/p/f64d5ad2ef2a
- offline .net3.5
1.加载虚拟光驱 2.dism.exe /online /enable-feature /featurename:netfx3 /Source:D:\sources\sxs
- 学习C++.Primer.Plus 7 函数
C++的返回值类型不能是数组 函数原型中的变量名相当于点位符,因此不要求提供变量名. void cheers(int); C++中不指定参数列表时就使用活力号: void saybye(...); 通 ...
- 【转】加快网站访问速度——Yslow极限优化
Yslow是一套雅虎的网页评分系统,详细的列出了各项影响网页载入速度的参数,这里不做多说. 我之前就一直参考Yslow做博客优化,经过长时间的学习也算是有所收获,小博的YslowV2分数达到了94分( ...
- visual studio 2012 的制作ActiveX、打包和发布
开发环境是Vs 2012 Framework 4.0 源码和制作工具在文章最下边 一. ActiveX控件Demo 新建一个Window窗体控件库项目 在自动生成的UserControl1页面上添加 ...
- 如何限制虚拟主机可使用的CPU资源
使用IIS 6.0运营虚拟主机的朋友们都会碰到这样一个问题,当某个网站占用大量CPU资源时,会把整个服务器都拖慢了,影响服务器上其他网站的访问速度,客户们的投诉也让系统管理员倍感头疼.我们知道,从II ...
- 360demo--关于WM_GETMINMAXINFO
在duilib的demo中,看到这么一段: LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHa ...
- Android 轻量级输入校验库:Fire Eye
Fire Eye是一款轻量级简单易用的Android校验库. FireEye 2.0 在 1.0 的基础上,全部重写了代码,并优化了架构,性能上和逻辑上都大大提升.只需要几行代码,即可验证用户输入,并 ...
- 枚举型Enum和结构型Stuct
枚举型实质就是使用符号来表示的一组相互关联的数据. Season currentSeason,nextSeason; currentSeason = Season.Spring; nextSeason ...
- 理解 charging ic spec
如何選擇1個適合您的 charging ic 呢? 主要考量以下 parameters charging ic 的 IIN, VIN charging ic 給 battery 的 IIN, VIN ...