正文

javaWeb笔记(7)2008-04-01 20:03:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ghlat520/33781.html

分享到:

第七章 Jsp表达式语言                    什么是jsp表达式语言:                    Jsp用于在网页上显示动态的内容。通常需要在Jsp页面中嵌入Java脚本以                    完成复杂的功能。但是大量的Java脚本使得Jsp页面难以维护。Jsp表达式语言(Expression language)                    可用于在Jsp页面上生成动态的内容,并代替jsp脚本元素,以一种更简洁方式来                    显示内容。Jsp表达式语言是从Jsp2.0规范开始支持的                                    什么要使用Jsp表达式语言:可以更加简洁的实现下面的三个功能                   1)简洁访问存储对像(PageContext,Request,Session,Application)里面的值                   2)利用EL简洁访问从表单元素取过来的值取替request.getParameter方法                   3)JavaBean属性的简略记法                   Jsp表达式语言(EL)的格式:                   ${表达式}                                     如何利用EL简洁访问存储对像的值                   A:先对比。                      页面1.jsp中                       <%       session.setAttribute("Uid","chen");           %>                        <jsp:forward page="jsp2.jsp"/>                      页面2.jsp接受来自于1.jsp中的值                         <%    String Uid="";    if (session.getAttribute("Uid")!=null)    {          Uid=session.getAttribute("Uid").toString();                                }                         %>                        <h1>接受的值为<%=Uid%>                                              利用EL进行改进2.jsp页面                         <h1>接受的值为${Uid}</h1>                 结论:                   1:通过EL访问非常简洁                   2:如果值不存在,EL返回值不是NUll而是空字符串                   3:如果四种对像都有相同名字的属性,                     则在能够访问的范围(注意)内查找的顺序为PageContext,Request,Session,Application                     找到第一个为止。也就是说如果此时能够访问PageContext,Request,Session,Application。则EL的值为PageContext的值。                     如果能够访问的范围为Request,Session,Application则EL的值为Request等等                   4:可以通过${session|Request|Application|Scope.Uid}的形式来决定要取到什么范围的值                                       举例:登录的例子,如果登录正确,则显示欢迎信息                                                                    如何利用EL简洁访问从表单元素取过来的值用以取替request.getParameter方法                          格式:${param.表单元素值} 注意表单元素值必须要有name属性                           1.jsp1页面:输入学号,语文,数学,化学                           2.jsp2页面:显示该学生的总分与平均分                           改进:把显示的结果也放入jsp1页面中,能够达到保留表单元素值的目的                           学号:<input type="text" name="txtId" value="${param.txtId}"/><br>                          说明:                            1)通过${param.表单元素名}取过来的值。默认为String类型,可以通过                              ${param.表单元素名+0} 转换成为数值型                                                      比如:比较两个数的大小                                ${param.num1+0>param.num2+0} 而不能写成${param.num1>param2.num1}                             其中num1与num2是表单元素。"10""<4" 而10>4                                                                如何利用EL对JavaBean属性进行简略记法                             格式1:${BeanName.BeanProperty}                             格式2:${BeanName["BeanProperty"]        jsp1页面:输入商品名,数量,单价,实付款                             jsp2页面:通过一个ShopBean求出实付款和找零                             不使用EL表达式:                                  商品名:<jsp:getProperty name="ShopBean" property="shopname"/><br>                    数量:  <jsp:getProperty name="ShopBean" property="amount"/><br>                             使用EL表达式:                                商品名:${ShopBean.shopname}<br>                                数量:  ${ShopBean.amount}<br>

阅读(1593) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册