《【教学课件】第四章JSP编程.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第四章JSP编程.ppt(126页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 JSP编程编程本章主要内容本章主要内容1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言 1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言JSP工作原理JSP是一种实现普通静态HTML和动态HTML混合编码的技术。JSP最终会被转换成标准的Servlet!JSP设计的目的在于简化表示层的表示。JSP页面的其他成分主要有如下三种:脚本元素指令动作.其他 HTML 语言 其他 HTML 语言 JSP示例示例(Hello.jsp)%for(int i=0
2、;i 你好 你好 你好 JSP执行过程执行过程n n*.jsp*.java*.classrequestresponse执行jsp parserJSDKservletservlet 分析器JSPn n执行过程JSP示例示例(Hello_Date.jsp)你好,今天是 号,星期 import java.util.*;response.setContentType(text/html;charset=gb2312);out=pageContext.getOut();out.write(“rnrnrn rn你好,今天是rn);Date today=new Date();out.print(today.
3、getDate();out.write(号,星期);out.print(today.getDay();out.write(rn rnrn);JSP文件servlet文件JSP对应的对应的Servlet的代码的代码JSP语法概述语法概述n nJSP原始代码中包含了JSP元素和Template(模板)data两类 n nTemplate data指的是JSP引擎不处理的部分,即标记以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器n nJSP元素则是指将由JSP引擎直接处理的部分,这一部分必须符合JSP语法,否则会导致编译错误。jsp例子例子(hi.jsp)n nHi-J
4、SPHi-JSP实验实验%Template dataJSP元素JSP语法语法n nJSP语法分为三种不同的类型 指令(DIRECTIVE)例如:脚本语法(SCRIPTING)动作语法(ACTION)例如:,1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言脚本语法脚本语法n n脚本语法包括n n“HTMLHTML注释注释”:”:n n“隐藏注释隐藏注释”:”:n n“声明声明”n n“表达式表达式”n n“脚本段脚本段”HTML注释注释 n nJSP 语法格式如下:n n!-comment -或n n!-注释 -n n这种注释发
5、送到客户端,但不直接显示,在源代码中可以查看到。隐藏注释隐藏注释 n nJSP 语法格式如下:n n不发送到客户端。程序43:expression.jsp(添加注释后)JSP表达式%for(int i=1;iH你好/H程序44:expression.jsp的客户端源代码JSP表达式你好你好你好你好你好1 输出表达式 输出表达式的计算结果。表达式中的变量必须是前面已声明过的变量注意:与之间不能有空格且表达式后面不需要分号。程序42:expression.jsp JSP表达式%for(int i=1;iH你好/H声明声明n nJSP 语法格式如下:n n 或n n程序程序4 45 5:statem
6、ent_vary.jspstatement_vary.jsp!DOCTYPE HTML PUBLIC transitional/en声明变量声明变量 您是第您是第 个访问本站的客户。个访问本站的客户。第第1 1次请求页面运行结果次请求页面运行结果 第第2 2次请求页面运行结果次请求页面运行结果 表达式表达式n n用于在页面上输出信息,语法格式如下:n n 或n n表达式表达式%page language=java import=java.util.*%test test a=a=b=b=c=c=执行结果执行结果 脚本段脚本段 n nJSP 语法格式如下:n n 或n n脚本段脚本段(peixu
7、n2.5.jsp)test test%condition=1;condition=1;switch(condition)switch(condition)case 0:case 0:out.println(You must select condition 0!+);out.println(You must select condition 0!+);break;break;case 1:case 1:out.println(You must select condition 1!+);out.println(You must select condition 1!+);break;break
8、;case 2:case 2:out.println(You must select condition 2!+);out.println(You must select condition 2!+);break;break;default:default:out.println(Your select not in 0,1,2,select again!+);out.println(Your select not in 0,1,2,select again!+);%转转义义符符:双双引引号号 “,单单引引号号,反反斜斜杠杠,回回车车rr,换换行行nn,制制表表符符tt,退格,退格bb脚本段执
9、行结果脚本段执行结果1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言JSP指令是从JSP向Web容器发送的消息,它用来设置页面的全局属性,如输出内容类型等。注意:指令的作用范围仅限于包含指令本身的JSP页面。JSP的指令格式为:n n编译器指令包括“包含指令”,“页指令”和“taglib指令”n n它们包含在“”卷标里。n n两个主要的指令是page与include。page指令用来定义整个JSP页面的全局属性。合法的page 属性有:import、contentType、isThreadSafe、session、buffer
10、、autoflush、extends、info、errorPage、isErrorPage和language等。PagePage指令指令n n“PagePage”指令用于定义指令用于定义JSPJSP文件中的全局属性。文件中的全局属性。JSP JSP 语法格式如下:语法格式如下:%page%PagePage指令指令n n属性:属性:1 1language=java language=java 声明脚本语言的种类,目前只能用声明脚本语言的种类,目前只能用java java。2.import=package.class|package.*,.2.import=package.class|packag
11、e.*,.需需要要导导入入的的JavaJava包包的的列列表表,这这些些包包作作用用于于程程序序段段,表表达达式式,以以及及声声明明。下下面面的的包包在在JSPJSP编编译译时时已经导入了,所以就不需要再指明了:已经导入了,所以就不需要再指明了:java.lang.*javax.servlet.*.*.*java.lang.*javax.servlet.*.*.*3errorPage=relativeURL 设置处理异常事件的JSP文件。4isErrorPage=true|false 设置此页是否为出错页,如果被设置为true,你就能使用exception对象程序49:testError.js
12、p页面错误属性测试 程序410:safe.jsp%!int number=0;void countPeople()int i=0;double sum=0.0;while(i+您是第 个访问本站的客户。最后,对于page指令,需要说明的是:指令作用于整个JSP页面,同样包括静态的包含文件。但是指令不能作用于动态的包含文件,比如。可以在一个页面中引用多个指令,但是其中的属性只能用一次,不过也有例外,那就是import属性。因为import属性和Java中的import语句类似(参照Java Language,import语句引入的是Java语言中的类),所以此属性就能多用几次。无论把指令放在JS
13、P的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,及好的编程习惯,最好还是把它放在JSP文件的顶部。程序48:jspSession.jsp includeinclude指令指令 include指令向JSP页面内某处嵌入一个文件。这个文件可以是HTML文件、JSP文件或其他文本文件。JSP JSP 语法格式如下:语法格式如下:或或%include file=%说明:通过include指令包含的文件是由JSP分析的,并且这部分分析工作是在转换阶段(JSP文件被编译为Servlet时)进行的。程序411:include.jspinclude 示例 程序412:copy
14、right.htmlGantry HTMLAll the rights are reserved1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言JSPJSP动作组件:动作组件:JSPJSP动作组件是一些动作组件是一些XMLXML语法格式的标记,语法格式的标记,被用来控制被用来控制WebWeb容器的行为。容器的行为。常见的常见的JSPJSP动作组件共有以下几种:动作组件共有以下几种:在页面被请求的时候引入一个文件。:在页面被请求的时候引入一个文件。:在动作组件中引入参数信息。:在动作组件中引入参数信息。:把请求转到一个新的页面。
15、:把请求转到一个新的页面。:设置:设置JavaBeanJavaBean的属性。的属性。:输出某个:输出某个JavaBeanJavaBean的属性。的属性。:寻找或者实例化一个:寻找或者实例化一个JavaBeanJavaBean。JSP动作组件 includeinclude动作组件动作组件 include动作组件把指定文件插入正在生成的页面。其语法如下:。注意:include动作组件和include指令元素有很大的不同。include动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果
16、。而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译成java文件,否则只能看到所包含的修改前的文件内容。JSP动作组件程序413:includeaction.jspinclude 动作示例 JSP动作组件 forwardforward动作组件动作组件 forword动作组件用于将浏览器显示的网页,导向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。其语法如下:注意:在使用forward之前,不能有任何内容已经输出到客户端,否则会有意外抛出。程序414:forward.jspforward当前推荐图书清单:0.5)%程序41
17、5:catalog1.htmlforward 示例当前推荐图书清单:国画梅次故事朝夕之间程序416:catalog2.htmlforward 示例当前推荐图书清单:J2EE 编程技术 J2EE服务器端高级编程JSP高级编程 用于传递参数信息,必须配合或动作组件一起使用。语法如下:当该组件与一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。JSP动作组件程序417:param1.jsp加载文件效果:程序418:add.jsp:%String start=request.getParameter(start);/获取值。String end=request.get
18、Parameter(end);/获取值。int s=Integer.parseInt(start);int e=Integer.parseInt(end);int sum=0;for(int i=s;i 从到的连续和是:程序419:param2.jsp向jsp:forward传递参数示例:向jsp:forward传递参数示例:程序420:welcome.jsp欢迎您!n n使使用用“”插插入入一一个个appletapplet或或BeanBean,必要的话还要下载一个必要的话还要下载一个JavaJava插件用于执行它。插件用于执行它。n nn nJSP JSP 语法格式如下:语法格式如下:jsp
19、:plugin iepluginurl=URLToPlugin jsp:param name=parameterName jsp:param name=parameterName value=parameterValue|/+value=parameterValue|/+text text message message for for user user 属性属性1 1type=bean|applet type=bean|applet 将将被被执执行行的的插插件件对对象象的的类类型型,你你必必须须得得指指定定这这个个是是BeanBean还是还是applet,applet,因为这个属性没有缺省
20、值。因为这个属性没有缺省值。2 2code=classFileName code=classFileName 将将会会被被JavaJava插插件件执执行行的的Java Java ClassClass的的名名字字,必必须须以以.class.class结结尾尾。这这个个文文件件必必须须存存在在于于codebasecodebase属属性性指定的目录中。指定的目录中。n n3 3codebase=classFileDirectoryName codebase=classFileDirectoryName n n将将会会被被执执行行的的Java Java ClassClass文文件件的的目目录录(或或者
21、者是是路路径径),如如 果果 你你 没没 有有 提提 供供 此此 属属 性性,那那 么么 使使 用用的的jspjsp文件的目录将会被使用。文件的目录将会被使用。n nn n4 4name=instanceName name=instanceName n n这这个个BeanBean或或appletapplet实实例例的的名名字字,它它将将会会在在JspJsp其其它它的地方调用。的地方调用。程序421:Circle.javaimport;import;import;public class Circle extends Applet public void paint(Graphics g)g.s
22、etColor(new Color(255,0,255);g.fillArc(0,0,50,50,0,360);程序422:plugin.jsp Plugin tag OBJECT or EMBED not supported by browser.1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言JSP内置对象JSP根据Servlet API 规范提供了某些内置对象,开发者不用事先声明就可以使用标准的变量来访问这些对象。JSP供提供九种内置对象:RequestReponseOutSessionapplicationConfig
23、PagecontextPageexception。n n从本质上讲,JSP的这些内置对象其实都是由特定的Java类所产生的,在服务器运行时根据情况自动生成,所以如果你有较好的Java基础,可以参考相应的类说明,表3.1给出了他们的对应关系。更进一步的讲解将会在讲解Servlet的一章中展开,如果你的Java基础不太好,可以先熟悉在这一章里所介绍的各种方法的使用。request和和responsen n“request”“request”对对象象代代表表的的是是来来自自客客户户端端的的请请求求,例例如如我我们们在在FORMFORM表表单单中中填填写写的的信信息息等等,是是最最常常用用 的的 对对
24、 象象。关关 于于 它它 的的 方方 法法 使使 用用 较较 多多 的的 是是getParametergetParameter、getParameterNamesgetParameterNames和和getParameterValuesgetParameterValues,通通过过调调用用这这几几个个方方法法来来获获取取请请求对象中所包含的参数的值求对象中所包含的参数的值n n“response”“response”对对象象代代表表的的是是对对客客户户端端的的响响应应,也也就就是是说说可可以以通通过过“response”“response”对对象象来来组组织织发发送送到到客客户户端端的的数数据
25、据。但但是是由由于于组组织织方方式式比比较较底底层层,所所以以不不建建议议普普通通读读者者使使用用,需需要要向向客客户户端端发发送送文文字字时直接使用时直接使用“out”“out”对象即可。对象即可。request请求对象请求对象n n1getAttributen n原型:public name)n n说明:以对象的形式返回特定名称的属性值。这个方法允许Servlet引擎给出一个客户请求的特定信息。(Servlet为服务器端小程序,所有JSP页面都事先翻译成Servlet后才执行)request请求对象请求对象n n 如果所给名称的属性不存在将返回空值。n n 属性名应该遵循和包命名方式同样的
26、约定,不 要 采 用 如“java.*”、“javax.*”及 “sun.*”.这样的命名。n n参数:name 一个标示属性名的字符串n n返回值:一个包含属性值的对象,当属性不存在是为空。程序423:jspFunction.jsp 客户使用的协议是:获取接受客户提交信息的页面:接受客户提交信息的长度:客户提交信息的方式:获取HTTP头文件中UserAgent的值:获取HTTP头文件中accept的值:获取HTTP头文件中Host的值:获取HTTP头文件中acceptencoding的值:获取客户的IP地址:获取客户机的名称:获取服务器的名称:获取服务器的端口号:获取客户端提交的所有参数的名
27、字:获取头名字的一个枚举:获取头文件中指定头名字的全部值的一个枚举:程序424:input.html 姓名 选出你喜欢吃的水果:苹果 西瓜 桃子 葡萄 程序425:getParam.jsp 你好,%Name=request.getParameter(UserName);String stars=new String(你喜欢吃的水果有:);String paramValues=request.getParameterValues(checkbox1);for(int i=0;i 程序426:select.jsp:选择计算方式 计算1到n的连续和 计算1到n的平方和 计算1到n的立方和 选择n的值
28、:n=10 n=20 n=30 n=40 n=50 n=100 程序428:Attribute_send.jspLomboz JSPAttribue传递参数示例 程序429:Attribute_receive.jspLomboz JSP%String name=(String)request.getAttribute(name);content=new ArrayList();content=(java.util.ArrayList)request.getAttribute(value);int m=0;String promt=;if(content!=null)String temp=(S
29、tring)content.get(1);m=Integer.parseInt(temp);promt=(String)content.get(0);for(int i=0;i程序430:greeting.jspLomboz JSP%Date today=new Date();int h=today.getHours();if(h程序431:morning.jspLomboz JSP早上好!程序432:afternoon.jspLomboz JSP下午好!pageContextn n“pageContext”“pageContext”对对象象直直译译时时可可以以称称作作“页页面面上上下下文文”
30、对对象象,代代表表的的是是当当前前页页面面运运行行的的一一些些属属 性性,常常 用用 的的 方方 法法 包包 括括 findAttributefindAttribute、getAttributegetAttribute、getAttributesScopegetAttributesScope和和getAttributeNamesInScopegetAttributeNamesInScope,一一 般般 情情 况况 下下“pageContext”“pageContext”对对象象用用到到得得也也不不是是很很多多,只只有有在在项项目目所所面面临临的的情情况况比比较较复复杂杂的的情情况况下下,才才会
31、利用到页面属性来辅助处理。会利用到页面属性来辅助处理。n n session对象对象n n“session”对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session”对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常 用 的 方 法 包 括 getId、getValue、getValueNames和putValue等。session对象对象n n概要概要n nHTTPHTTP是无状态(是无状态(statelessstateless)协议;)协议;n nWeb Server Web
32、 Server 对每一个客户端请求都没有历史记忆;对每一个客户端请求都没有历史记忆;n nSessionSession用来保存客户端状态信息;用来保存客户端状态信息;n n由由Web Server Web Server 写入;写入;n n存于客户端;存于客户端;n n客户端的每次访问都把上次的客户端的每次访问都把上次的sessionsession记录传递给记录传递给Web Web ServerServer;n nWeb ServerWeb Server读取客户端提交的读取客户端提交的sessionsession来获取客户端的来获取客户端的状态信息;状态信息;application对象对象n n
33、“application”对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。outn n“out”“out”对对象象代代表表了了向向客客户户端端发发送送数数据据的的对对象象,与与“response”“response”对对象象不不同同,通通过过“out”“out”对对象象发发送送的的内内容容将将是是浏浏览览器器需需要要显显示示的的内内容容,是是文文本本一一级级的的,可可以以通通过过“out”“out”对对象象直直接接向向客客户户端端写写一一个个由由程程序序动动态态生生成成HTMLHTML文文件件。常常用用的的方方 法法 除除 了了
34、 pirntpirnt和和 printlnprintln之之 外外,还还 包包 括括 clearclear、clearBufferclearBuffer、flushflush、getBufferSizegetBufferSize和和 getRemaininggetRemaining,这这是是因因为为“out”“out”对对象象内内部部包包含含了了一一个个缓缓冲冲区,所以需要一些对缓冲区进行操作的方法。区,所以需要一些对缓冲区进行操作的方法。config、page、exceptionn n“config”“config”对对象象提提供供一一些些配配置置信信息息,常常用用的的方方法法有有getIn
35、itParametergetInitParameter和和getInitParameterNamesgetInitParameterNames,以以获获得得ServletServlet初始化时的参数。初始化时的参数。n n“page”“page”对对象象代代表表了了正正在在运运行行的的由由JSPJSP文文件件产产生生的的类对象,不建议一般读者使用。类对象,不建议一般读者使用。n n“exception”“exception”对对象象则则代代表表了了JSPJSP文文件件运运行行时时所所产产生生的的例例外外对对象象,此此对对象象不不能能在在一一般般JSPJSP文文件件中中直直接接使使 用用,而而
36、只只 能能 在在 使使 用用 了了“%“”isErrorPage=true%”的的JSPJSP文件中使用文件中使用 程序435:application.jspapplication对象示例%out.println(Java Servlet API Version+application.getMajorVersion()+.+application.getMinorVersion()+);out.println(application.jsps MIME type is:+application.getMimeType(application.jsp)+);out.println(URL of
37、 application.jsp is:+application.getResource(/application.jsp)+);out.println(getServerInfo()=+application.getServerInfo()+);out.println(application.getRealPath(application.jsp);application.log(Add a Record to log_file);%程序436:counter.jsp网页计数器您是第位访问者!任何一个Java对象都有其作用域范围,JSP的内置对象也不例外。归纳起来,共有四种范围:(1)pag
38、e。page范围内的对象仅在JSP页面范围内有效。超出JSP页面范围,则对象无法获取。(2)request。客户向服务器发起的请求称为request(请求)。由于采用和response.sendRedirect()等重定位计数,客户端发起的request请求可以跨越若干个页面。因此定义为request范围的JSP内置对象可以在request范围内的若干个页面内有效。(3)session。客户端与服务器的交互过程,称为session(会话)。在客户端与服务器的交互过程中,可以发起多次请求,一个session可以包含若干个request。定义为session范围的JSP内置对象可以跨越若干个req
39、uest范围有效。(4)application。部署在服务器上的Web应用程序与所有客户端的的交互过程,称为application。一个application可以包含若干个session。定义为application范围的JSP内置对象可以跨越若干个session范围有效。1 1JSP工作原理2 2JSP脚本元素3 3JSP指令元素4 4JSP动作组件5 5JSP内置对象6 6表达式语言n n表达式语言(Expression Language,EL)。n n与JSP脚本相比,EL提供了一种更加简化的方式来生成动态Web页面。n nEL的基本语法如下:$exprn n其中,$为EL语法中的输出符
40、号,expr 为EL有效表达式,它包含在一对括号内。EL有效表达式可以包含文字、操作符、变量(对象引用)和函数调用等。内容内容内容内容类类类类型型型型合法取合法取合法取合法取值值值值BooleanBooleantrue true 和和 false falseIntegerInteger与与 Java Java 类类似。可以包含任何正数或似。可以包含任何正数或负负数,例如数,例如 24 24、-45-45、567567Floating PointFloating Point与与 Java Java 类类似。可以包含任何正的或似。可以包含任何正的或负负的浮点数,例如的浮点数,例如-1.8E-451
41、.8E-45、4.5674.567StringString任何由任何由单单引号或双引号限定的字符串。引号或双引号限定的字符串。对对于于单单引号、双引号、双引号和反斜杠,使用反斜杠字符作引号和反斜杠,使用反斜杠字符作为转义为转义序列。必序列。必须须注意,如果在字符串两端使用双引号,注意,如果在字符串两端使用双引号,则单则单引号不需引号不需要要转义转义。NullNullnullnullEL有效表达式支持的内容类型术语术语术语术语定定定定义义义义算算术术型型+、-(二元)、(二元)、*、/、divdiv、%、modmod、-(一元)(一元)逻辑逻辑型型andand、&、oror、|、!、notnot
42、关系型关系型=、eqeq、!=!=、nene、gtgt、=、gege。可以。可以与其他与其他值进值进行比行比较较,或与布,或与布尔尔型、字符串型、型、字符串型、整型或浮点型文字整型或浮点型文字进进行比行比较较。空空空操作符是前空操作符是前缀缀操作,可用于确定操作,可用于确定值值是否是否为为空。空。条件型条件型A?B:CA?B:C。根据。根据 A A 赋值赋值的的结结果来果来赋值赋值 B B 或或 C C。EL有效表达式支持的操作符 n n程序程序4 44040:el.jspel.jspn nn nn nn n n n meta http-equiv=Content-Type content=t
43、ext/html;charset=UTF-8n n EL EL有效表达式有效表达式n n n n n n$true$truen nn n$23+15.28$23+15.28n nn n$1210$1210n nn n$(1210)&(a!=b)$(1210)&(a!=b)n n n nn n说明:JSP2.0以后,EL可以应用在JSP页面的模版文本中,也可以作为JSP标记的动态属性。它唯一不能使用的场合就是JSP的脚本元素内部。类别 标识符符 描述描述 JSPpageContext JSP 页的上下文。作用域pageScope 与page作用域的属性的名称和值相关联的 Map 类 reques
44、tScope 与request作用域的属性的名称和值相关联的 Map 类 sessionScope 与session作用域的属性的名称和值相关联的 Map 类 applicationScope 与application作用域的属性的名称和值相关联的 Map 类 请求参数param 存储请求参数名称值对的 Map 类。paramValues 将请求参数的所有值作为 String 数组存储的 Map 类 请求头header 按名称存储请求头部主要值的 Map 类 headerValues 将请求头部的所有值作为 String 数组存储的 Map 类 Cookiecookie 按名称存储请求附带的
45、cookie 的 Map 类 初始化参数initParam 按名称存储 Web 应用程序上下文初始化参数的 Map 类 EL支持的隐式对象 n n注意:不要将上述隐式对象与 JSP 内置对象混淆,其中只有一个对象pageContext是它们所共有的。n n说明:尽管 JSP 和 EL 隐式对象中只有一个公共对象(pageContext),但通过 EL 也可以访问其它 JSP 隐式对象。原因是 pageContext 拥有访问所有其它八个 JSP 隐式对象的功能。n nEL 提供了两种不同的存取器:点运算符(.)和方括号运算符()。n n点运算符通常用于访问对象的属性。n n方括号运算符用来检索数组和集合的元素。n n程序程序4 44141:el2.jspel2.jspn nn nn nn n%n nn n n n n n EL EL表达式的存取符和隐含对象表达式的存取符和隐含对象n n n n n n Hello$param.name!Hello$param.name!n n n n n n 财经:财经:$n n 热点:热点:$requestScope.news.$requestScope.news.热点热点n n 奥运:奥运:$requestScope.news$requestScope.news奥运奥运n n 其它:其它:$n n n n n n
限制150内