JavaEE中$符号出现在两个地方,一个是前端jQuery中的$(),一个是后端JSP中的EL表达式${}。
一、$()中放不同的东西代表不同的含义,(1)$(function(){}),表示文档加载完成后执行函数,Javascript是一种动态脚本语言,用来修饰HTML标签,可对特定事件作出响应。事件源有点击事件、改变事件、加载事件等,文档加载完成后执行函数能保证某些需要被先加载的标签能被先加载。(2)$("<div>html</div>"),传入参数为HTML字符串是,表示根据字符串创建元素节点对象。(3)传入参数为选择器时,表示根据选择器查找出该元素节点对象。选择器是一种字符串,有ID选择器:$("#id值"),类选择器:$(".类名"),元素选择器:$("标签名"),*选择器:$("*")。(4)$(this),this表示当前类的对象,$(this)表示将dom对象封装为jquery对象返回。
二、${}是jsp中的EL表达式。jsp:(1)jsp中静态HTML内容称为jsp的模板元素,编译成.java文件后,模板元素中的内容被传入到out.write();中,(2)<%= %>为jsp表达式,编译成.java文件后,表达式中所有的内容都被传参进out.print();中,(3)<% %>为jsp脚本片段,脚本片段会被原封不动地复制到.java文件中,(4)<%! %>为jsp声明,声明里的代码都会写在jspService方法之外,xxxjsp.java类之内,比较少用,(5)jsp注释:<%-- --%>,html注释:<!-- -->,java注释://
Jsp中有九大内置(隐式)对象,(1)PageContext pageContext=null,代表当前页面对象,(2)HttpSession session=null,代表会话对象(3) Trowable exception=null,代表捕获异常对象(4)ServletContext application=null,代表整个web应用(5)ServletConfig config=null,代表servlet配置信息(6)JspWriter out=null,代表可以在页面输出数据的out对象(7)Object page=this,代表当前jsp(8)HttpServletRequest request,代表封装当次请求详细信息的对象(9)HttpServletResponse response,代表当次响应的对象。
其中四大域对象,用来共享数据:(1)PageContext pageContext=null,代表当前页面对象,能获取其它的隐式对象:pageContext.getXXX();,通过调用域对象的.setAttribute(String key,Object value)方法给相应域设置内容,.getAttribute(Sring key)方法来获取相应的内容。只能获取在当前页面设置的内容。 (2)HttpSession session=null,代表会话对象、同一次会话共享数据,浏览器打开-开始会话,浏览器关闭后重新访问则无法获取共享数据。会话就是浏览器和web应用沟通,所以不同浏览器访问web应用就是不同会话(3)ServletContext application=null,代表整个web应用,只要在同一个web应用中都可以共享数据,web应用只要不卸载都可以访问 (4) HttpServletRequest request,代表封装当次请求详细信息的对象,只要是同一次请求,就可以共享数据,请求转发是同一次请求。链接和请求重定向不是同一次请求。
可用EL表达式在页面显示域中的属性值:${属性名},它会从四个域从小到大找,el中有11个隐含对象,四个域对象。el可以取出自己指定的这11个对象中的数据,取不出页面上自己定义的数据。获取对象中的某个属性直接使用.属性名的方式,el可以连点操作。
el表达式优化了jsp的取值操作,可以取出以下11个对象中的内容。el11个常用对象中,除了pageContext,其它的都是Map对象。