js文件中使用EL表达式的问题
Session中的使用
//java代码将对象存入session
httpSession.setAttribute("CURR_USER",userinfoList.get(0));
//jsp中使用session中的对象
${sessionScope.CURR_USER.username}
JS中使用EL表达式
var str = '${str}' ;
var str = '${obj.属性名}';
只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能使用。
但是事实情况呢有时候需要在某些插件中js使用,如果是开发时候可以用传参数之类,用隐藏域之类的. 当开发完毕的时候(比如项目分离),之前js文件中写死的配置就会出问题,为了简单可以使用这个方法支持EL表达式
将.js文件改为.jsp,这样可以让容器解析里面的el表达式
然后引用再用 <script src="/${appName}/commons/jq22.jsp"></script> 告诉引入的文件是个script. 但是把.js文件改成.jsp的话,长时间以后下一个维护人员会很困惑这是什么东东,所以可以采用这个方法
在一个公用的外部.js文件中配置一个全局变量.在插件中的.js文件中使用这个全局变量(当然.jsp文件要同时引入这两个文件)
EL与JSTL标签联用
引用
jsp文件引入
JSTL 1.0 声明:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
JSTL 1.1 之后声明:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
c标签
使用c:标签
<!-- 设置值 -->
<c:set var="salary" scope="session" value="${2000*2}"/> <!-- if语句 -->
<c:if test="${salary > 2000}">
<p>工资: <c:out value="${salary}"/><p>
</c:if> <!-- choose语句 -->
<c:choose>
<c:when test="${salary <= 0}">
太惨了。
</c:when>
<c:when test="${salary > 1000}">
不错的薪水,还能生活。
</c:when>
<c:otherwise>
啥都没有。
</c:otherwise>
</c:choose>
if标签判断为空
<c:if test="${!empty user.name}">user的name属性不为空时显示</c:if>
<c:forEach>标签
集合中的对象
<c:forEach items="${sessionScope.userList}" var="userItem" varStatus="userStatus">
${userItem.键名}
</c:forEach>
c:forTokens标签
<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们
<c:forTokens items="google,baidu,biying" delims="," var="engine">
<c:out value="${engine}"/><p>
</c:forTokens>
JSTL提供format标签
el表达式直接显示日期格式化问题.
<!--1.首先引入标签库-->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!--2.在需要显示日期的地方调用fmt标签即可-->
<fmt:formatDate value="${order.submit_time}" pattern="yyyy-MM-dd HH:mm:ss"/>
js文件中使用EL表达式的问题的更多相关文章
- js文件中使用el表达式问题
作者:Sang 单独js文件不能用el表达式. 首先,JSP是由服务端执行的,EL表达式自然也由服务端解析执行,因此如果EL所在的脚本在JSP页面内,它是可以获取到值的,这个值在服务器端返回到浏览器端 ...
- 在js文件中写el表达式取不到值的原因及解决方法
1.javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值 2.要想获取"${jcDropClass.jcClass.id}"的值,可以在jsp ...
- 独立的js文件中不能使用EL表达式取值
在独立的js文件中写了一个EL表达式取值,发现没有取到值,原因在于不能在独立的js文件中使用EL表达式,可以在jsp页面定义全局变量,然后在js文件中引用
- js中“使用”el表达式
在说相关内容前,一定要先熟悉jsp运行原理: http://blog.csdn.net/lmsnju/article/details/4813488 http://hi.baidu.com/mingf ...
- js文件中如何使用 获取EL表达式的值
转: js文件中如何使用 获取EL表达式的值 原先做法是在jsp页面引入头文件 <%@ page language="java" pageEncoding="UTF ...
- JS中使用EL表达式
转自:http://blog.csdn.net/monkeyking1987/article/details/17146951 分两种情况 1. JS代码在JSP页面中, 这可以直接使用EL表达式. ...
- JS中使用EL表达式方法与获取工程名字
关键: 在js中使用el表达式一定要使用双引号 分两种情况 1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如: <script type="text/javas ...
- js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
js 中使用el表达式 关键总结:在js中使用el表达式一定要加双引号 js控制中用到了el表达式,最开始源码如下: var selected = ${requestScope.xxxxForm.re ...
- 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute
原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...
随机推荐
- java课程设计---计算器(201521123020 邱伟达)
1.团队课程设计博客链接 http://www.cnblogs.com/br0823/p/7064407.html 2.个人负责模板或任务说明 1.初始化按键 2.实现加减乘除开方乘方等运算 3.每个 ...
- Java并发之synchronized关键字
上篇文章我们主要介绍了并发的基本思想以及线程的基本知识,通过多线程我们可以实现对计算机资源的充分利用,但是在最后我们也说明了多线程给程序带来的两种典型的问题,针对它们,synchronize ...
- 前端里移动端到底比pc端多哪些知识?
端里移动端到底比pc端多哪些知识,为啥面试时好多公司都问h5水平如何? 我做过几年的web前端开发,就简单谈谈自己的感受吧.首先来看看PC端和移动端在前端开发上的一些区别:(1)PC考虑的是浏览器兼容 ...
- Opengl4.5 中文手册—F
索引 A B C D E F G H I J K L M N O P Q ...
- struts jar包
这些错误很让我摸不着头脑,经多方查阅资料后,在Struts 2.2.x中应该导入如下7个JAR文件 1) commons-fileupload-1.2.1.jar 2) commons-io- ...
- 简易RPC框架-心跳与重连机制
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- ubuntu命令查询版本和内核版本
1.查看ubuntu版本号: 方法一: cat /etc/issue 返回结果: Ubuntu 6.06.2 LTS \n \l 方法二: sudo lsb_release -a 返回结果: ...
- python常见模块命令(os/sys/platform)
一.Os Python的标准库中的os模块主要涉及普遍的操作系统功能.可以在Linux和Windows下运行,与平台无关. os.sep 可以取代操作系统特定的路径分割符. os.name字符串指示你 ...
- HDU1212
大数MOD #include<cstdio> #include<cstdlib> #include<iostream> #include<algorithm& ...
- PL/SQL 三个小例子
/* SQL语句 员工集合:select to_char(hiredate,'yyyy') from emp --> 光标 --> 循环--> 退出条件:notfound 变量 co ...