Expression Language 表达式语言,常用于取值 我们之前在JSP中写java代码必须写在<%%>里面。并且取值代码比较繁琐。 而EL表达式可以使我们的取值代码更加简洁
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说JSTL、EL、ONGL、Struts标签的区别与使用「建议收藏」,希望能够帮助大家进步!!!
首先声明:jsp这个技术基本被淘汰了,不太重要,用到它的可能性很低,但是有些企业还是会用到的。
Tomcat 最后会将 jsp 文件编译后的(.class-字节码文件/.java-类)存放在目录/work/Catalina/localhost/项目名/org/apache/jsp 里面:
一、JSP的语法 1、JSP的模板元素:(先写HTML) 就是JSP中的那些HTML标记 作用:页面布局和美化 2、JSP的Java脚本表达式: 作用:输出数据到页面上 语法:<%=表达式%>(实际上就是调用输出流打印到页面上) 3、JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段) 作用:书写Java代码逻辑 语法:<% 语句1; 语句2; %> 语句为Jav
在jsp开发中,为了获取Servlet域对象中存储的数据,经常要写很多java代码,这样的做法会使JSP页面混乱,难以维护,为此,在JSP2.0规范中提供了EL表达式。它是Expression Language的缩写。
获取请求参数 本人独立博客https://chenjiabing666.github.io 在Servlet中可以调用HttpServletRequest的getParameter()的方法接收传递过来的请求参数,但是在struts2中对这种方式进行了三种封装 我们一般发出请求都是通过表单传递的,但是在服务端如果获取表单传递过来的值,其中有三种不同的方式 属性驱动 属性驱动就是将一个Action类作为一个POJO类,在类中定义表单的请求参数的name属性,但是还要为这些成员变量设置get,set方法。因为在
会话技术:Cookie(客户端),Session(服务端)。一次会话中包含多次请求和响应直到一端断开,在一次会话范围内多次请求间共享数据。 Cookie由服务器发送给客户端使用,供客户端多次使用。服务端:创建Cookie(Cookie对象的构造函数传入Cookie信息)、发送Cookie(response.addCookie方法传入参数),接收Cookie(getCookies)。 idea的Settings-->File and Code Templates-->Web-->Java code templates下可以修改Servlet Annoteated Class自动生成的代码以方便自定义自动生成。 服务器发送cookie保存在,响应头的set-cookie下的参数被客户端获取。当客户端再次请求数据时,请求头中的cookie字段添加了之前获取的cookie。 一次请求可以发送多个cookie键值对(多个Cookie对象通过addCookie方法添加),cookie默认在浏览器关闭时被销毁,可设置持久化存储到硬盘时间(Cookie的setMaxAge方法传入整数秒设定存活时间,0为删除,负数为默认方式) cookie在tomcat8之后支持中文数据(直接使用,但特殊字符仍需编码),在tomcat8之前需要编码(可以使用URLEncoder.encode方法decode解码)。cookie范围,默认情况下tomcat服务器多个项目的cookie不能共享(只能在当前虚拟目录下共享),可以使用setPath方法设置为/则可以共享。 不同的tomcat服务器直接的cookie也可以共享,使用setDomain(String path),设置一级域名,则可以在指定一级域名下共享。 浏览器下的cookie大小有限制(4kb,20个),用于存储少量,不太敏感的数据(不安全)。可以用于网页离线的信息设置和同步(不登录情况下的网页偏好设置)。
客户端在第一次请求服务端时,如果服务端发现 此请求没有 JSESSIONID,则会创建一个 name=JSESIONID的cookie 并返回给客户端
在数据提交出现错误的时候, 已填写的信息仍在文本框中, 比如用户登录, 当用户输入错误的密码之后, 用户名仍在文本框, 只是密码框清空
什么是OGNL表达式?OGNL是Object 是操作对象属性的开源表达式。 框架使用OGNL作为默认的表达式语言。为什么我们学习OGNL在学习JSP的时候,我们已经学习过了EL表达式。EL表达式用起来也十分简单...我们在框架中也是可以使用EL表达式的...那么OGNL表达式好在哪里呢??支持对象方法调用...
jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组 由于现流行的javaWeb框架提倡前后端分离,比如在SpringMvc中已经很少写servlet的一些东西;目前 前端jsp中大多是一些纯html和js,很少用到jstl的一堆东西,后端也仅仅处理一些前端的post、get请求或页面跳转,无须以往繁琐的xml路径映射和filter过滤。 不过有时也会用到servlet作用域中的一些东西,比如某个固定的值、上下文路径等等~,不过这些东西大多数也仅限于取值而不是设置值(或对象),所
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
1.用法el表达式更加简洁 2.获取参数不存在时,jsp表达式时null,el表达式是空;
这段时间学习了两种EL,和OGNL都是表达式,然后对两者的不同进行学习,在网上还搜到了询问两者不同的面试题,自己也决定好好的学习一下
请求转发请求1次,只能对当前项目跳转,重定向请求2次.重定向是无法传递的,重定向对跳转范围没有限制.
教 学 活 动 首 页 基 本 内 容 第 6 章 JSP 与 JavaBeans 教学目的与要求:通过本章的学习让学生了解JavaBean 的概念;理解如何编写JavaBean和使用JavaBean;掌握JavaBean的存放目录,获取和修改 beans 的属性,beans 的辅助类,带包名的 beans;并能够JSP 与 JavaBeans结合完成简单应用。 教学内容: 6.1 编写和使用 JavaBeans 6.2 beans 的存放目录 6.3 获取和修改 beans 的属性 6
Struts2这个框架每年都会出现那么几个漏洞,不得不引起斗哥学习的兴趣。本期将从Struts2的一个罪魁祸首ONGL表达式开始介绍到S2-001漏洞的分析。Struts2系列的漏洞涉及Java Web等相关内容,后续会持续更新漏洞分析以及相关知识背景介绍等。
4.1 什么是隐式对象:在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象 jsp常见的九大隐式对象: request:HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求 reqponse:HttpServletResponse,响应对象 session:HttpSession,会话对象,它同时也是域对象,作用范围一次会话。 application:ServletContext,上下文对象,同时也是域对象,作用范围整个项目。 config:ServletConfig,配置对象 out:JspWriter,其实和PrintWriter作用差不多 page:Object,代表当前jsp的页面对象。 pageContext:PageContext,jsp容器 exception:Throwable,异常对象,用来捕获异常信息。 只有当前jsp页面有isErrorPage="true"这个属性是,才能使用exception对象 4.2 out对象 out对象在输出内容到网页上面去,最终通过response缓冲区输出。
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式。 Struts2框架使用OGNL作为默认的表达式语言。 为什么我们学习OGNL 在学习JSP的时候,我们已经学习过了EL表达式。EL表达式用起来也十分简单…我们在Struts2框架中也是可以使用EL表达式的…那么OGNL表达式好在哪里呢?? 支持对象方法调用,如xxx.doSomeSpecial() 支持类静态的方法调用和值访问,表达式的格式【例如:"@@floor(10.9)
JSP & EL & JSTL 一.JSP 1. jsp回顾 jsp作用 jsp全称java server pages(java服务器页面),本质是一个servlet.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp). jsp作用:将内容的生成和显示进行分离 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内
EL 的全称是Expression Language 是一种表达式语言,该语言主要用于替换jsp页面中java的代码。
一、JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse session HttpSession(有开关的:page指令的session属性的取值) application ServletContext config ServletConfig page
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/article/details/53611663
分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。
在JSP里取${pageContext.request.contextPath},方式一是可以正常取到,但方式二却取到的是
脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。(其中声明的变量为局部变量)
这里需要获取一个参数z0,这里是个三元表达式,如果z0不等于空的话,那么cs的值就是z0这个GET参数的值,如果z0为空的话,它的默认值就是如下
有些场景要求我们根据传入的参数做一些逻辑判断。很自然的,就想到在script函数内实现 stage(“deploy to test”){ steps{ script { if (params.CHOICES == ‘test’) { echo “deploy to test” } } } }
主要用于页面包含,导入页面的资源文件,格式为:<%@ include file="top.jsp" %>
首先,我们来了解一下JSP这个东东,大家看它的缩写可能有点懵逼,告诉大家全称之后可能会更容易理解,JSP全称:Java Server Page ,直译过来便是爪洼服务页面,当然直译是不行滴。万物之生,必有其因,JSP是为了简化servlet的工作而出现的替代品。
教 学 活 动 首 页 基 本 内 容 第 2 章 JSP 语法 教学目的与要求:通过本章的学习让学生了解SP 中的注释的使用方法;理JSP页面的基本结构;掌握变量和方法的声明方法,Java 程序片的使用,Java 表达式的使用,JSP指令标签和JSP动作标签的使用。 教学内容: 2.1 JSP 页面的基本结构 2.2 变量和方法的声明 2.3 Java 程序片 2.4 Java 表达式 2.5 JSP 中的注释 2.6 JSP 指令标签 2.7 JSP 动作标签 教学基本要求: 了解:
因为 Servlet 程序回传 html 页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
EL的全名为Experience Language,原本是JSTL 1.0为方便存取数据所自定义的语言,后来成为JSP标准的一部分,如今EL已经是一项成熟、标准的技术。
OGNL,全称是 Object-Graph Navigation Language(对象导航语言),是一种功能强大的开源表达式语言,通过简单的表达式语法就可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。OGNL 是被集成到 struts2中的,并不是 struts2 项目的一部分,struts2 用 OGNL 来取代原始 java web 项目中的 EL 表达式。
转载请注明:http://blog.csdn.net/uniquewonderq
2)request.getAttribute(""),request.getParamter("")都获取不了
JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。
ActionContext是Action的上下文,Struts2自动在其中保存了一些在Action执行过程中所需的对象,比如session, parameters, locale等。Struts2会根据每个执行HTTP请求的线程来创建对应的ActionContext,即一个线程有一个唯一的ActionContext。因此,使用者可以使用静态方法ActionContext.getContext()来获取当前线程的ActionContext,也正是由于这个原因,使用者不用去操心让Action是线程安全的。
自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag、TagSupport、BodyTagSupport、Simpl
EL(Expression Language)是为了使 JSP 写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让 JSP 的代码更加简化。
http://www.cnblogs.com/zfc2201/archive/2011/08/17/2143615.html
因此一般写jsp或者写项目不会在jps文件中写java代码,会采用MVC的开发模式,而Java代码会使用EL表达式和JSTL标签来代替。
如清晰度低,可转PC网页观看高清版本: http://v.qq.com/x/page/r056899qkz7.html Hibernate特性 延迟加载 做一些查询数据操作时,有一些API方法具有延迟的机制,即:我们使用API去操作查询数据,此时并没有调用我们的sql语句,而是在使用对象的时候,才去调用sql加载数据 session.get方法//无延迟加载特性 query.list()//无延迟加载特性 session.load方法//具有延迟加载特性 query.iterate()//具有延迟加载
领取专属 10元无门槛券
手把手带您无忧上云