故事背景:编写Javaweb项目,在火狐浏览器下运行时firebug报错SyntaxError: expected expression, got ';'或者SyntaxError: expected expression, got 'if'等

在firebug控制台点开报错的详细代码部分,发现代码是这个样子的:

$(document).ready(function(){
var s = ;
if(s==null||s==""){
alert("请登录");
location.href="/SSM0413/jsp/login.jsp";
}
});

但是我在Eclipse下写的代码是这样的:

    $(document).ready(function(){
var s = ${sessionScope.user.userName};
if(s==null||s==""){
alert("请登录");
location.href="/SSM0413/jsp/login.jsp";
}
});

可以很明显的发现,变量赋值部分${sessionScope.user.userName}没了。由此想到javascript里面可以直接使用EL表达式吗?答案是:不能!

那么怎么才能把session中的值赋值给JavaScript函数中的变量呢?查找资料后得出下面一个思路:

在body里面写一个span标签,在这个span标签里面使用EL表达式,但是为了不凭空多出一个span影响界面,设置hidden属性将其隐藏,如:

    <span id="uu" hidden="hidden">${sessionScope.user.userName}</span>  

然后在js中使用getElementById获得span标签中的内容,就可以给变量赋值啦

    var s = document.getElementById("uu").innerHTML;  

总结:1、javascript里面不可以直接使用EL表达式

   2、遇到这种问题可以先检查一下js代码,是不是格式除了问题,多写或少写了“;”等,还有就是确认一下应用的一些函数,库,或者EL表达式这种东西能不能在js代码中使用

   3、好好利用firebug能解决不少问题

JavaScript函数报错SyntaxError: expected expression, got ';'的更多相关文章

  1. 前端控制台 JavaScript函数报错 SyntaxError: expected expression, got ';' SyntaxError: expected expression, got 'if'

    在火狐浏览器下调试时, 页面报错SyntaxError: expected expression, got ';'或者SyntaxError: expected expression, got 'if ...

  2. python3.7环境下创建app,运行Django1.11版本项目报错SyntaxError: Generator expression must be parenthesized

    咳咳!!! 今天用命令行创建django项目中的app应用,出现了这样一个错误 这个错误在python3.6版本下安装运行django 1.11版本正常运行,但python3.7版本下运行django ...

  3. 启动Django报错:SyntaxError: Generator expression must be parenthesized 解决办法

    这是因为版本不兼容所导致的. 此错误已知与Python问题#32012相关.基于Django 1.11.16及以下的项目将在Python 3.7启动时引发此异常.此问题的补丁已合并到Django 2. ...

  4. SyntaxError: expected expression, got '<'异常错误

    引入jQuery文件,浏览器报SyntaxError: expected expression, got '<'错误,但是jQuery文件可以在网络一栏看到,最后检查是springMVC定义的拦 ...

  5. js执行函数报错Cannot set property 'value' of null怎么解决?

    js执行函数报错Cannot set property 'value' of null 的解决方案: 原因:dom还没有完全加载 第一步:所以js建议放在body下面执行, 第二步:window.on ...

  6. 读取导入csv csv报错iterable expected, not float

    示例代码import pandas as pdimport reimport csv data = pd.read_csv('nuojia.csv', encoding='utf-8')# print ...

  7. selenium调用Firefox和Chrome需要注意的一些问题,和出现的报错selenium:expected [object undefined] undefined to be a string

    在高版本selenium下如:selenium3.4.3 1.高版本的selenium需要浏览器安装一些补丁驱动 Firefox:geckodriver 下载网址:http://download.cs ...

  8. python 3 直接使用reload函数报错

    reload()是python2 的内置函数可以直接使用,但是python3 直接使用此函数报错,需要导入importlib 模块 from importlib import reload

  9. Linux 下使用C语言 gets()函数报错

    在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...

随机推荐

  1. 大数据计算的基石——MapReduce

    MapReduce Google File System提供了大数据存储的方案,这也为后来HDFS提供了理论依据,但是在大数据存储之上的大数据计算则不得不提到MapReduce. 虽然现在通过框架的不 ...

  2. oeasy教您玩转linux010106这儿都有啥 ls

    回忆上次内容 上个实验我们查询了 ls 的手册: man ls

  3. MinGW-w64安装过程中出现ERROR res错误的问题

    使用 mingw-get-setup.exe 安装.在官网http://www.mingw.org/上搜索download/installer,点击下载. 如果使用 mingw-w64-install ...

  4. Web测试和前端技术

    Html Form表单 用户需要输入内容的地方一般有一个表单元素 method:GET/POST action:要打开/提交的目文件 Table表格 检查表格数据和数据库的一致性 表格的布局检测:填满 ...

  5. 深入了解Netty【一】BIO、NIO、AIO简单介绍

    引言 在Java中提供了三种IO模型:BIO.NIO.AIO,模型的选择决定了程序通信的性能. 1.1.使用场景 BIO BIO适用于连接数比较小的应用,这种IO模型对服务器资源要求比较高. NIO ...

  6. RPC之总体架构

    要完成一个高可用.高性能的RPC框架,需要对其架构的设计进行梳理,这里参考xxl-rpc框架,对整个项目进行梳理. 以上就是项目的整个构架,分为四个部分: 第一个是服务发布与引入,基于JDK动态代理以 ...

  7. golang 内置print/println、fmt、log的区别

    fmt.Println与fmt.Print区别 换行区别不用多说,另外一个区别在于fmt.Print只有在参数间都不是字符串时才会产生间隔 fmt与log的重要区别 fmt没有做同步处理 fmt标准输 ...

  8. 图像通道、RGB与色彩体系

    通道(Channels) 图像的通道指的是什么?是不是灰度图的通道数为1,彩色图的通道为3 ? 图像通道,在RGB色彩模式下就是指那单独的红色.绿色.蓝色部分.也就是说,一幅完整的图像,是由红色绿色蓝 ...

  9. C#中部分重点前端设置问题

    背景 在工作及学习过程中经常会遇到一些奇怪的需求,这里便会记录我遇到的奇怪需求及解决方法. 内容 一.动态设置页面标题 1.前端设置 JS代码: document.title="这是一个标题 ...

  10. 提升开发幸福度-IDE配置

    插件 vscode插件 Settings Sync Atom One Dark Theme Bracket Pair Colorizer Code Runner Dracular Official E ...