设为首页 收藏本站
查看: 439|回复: 0

[经验分享] Tomcat 5 对JSP2.0 支持的新功能介绍

[复制链接]
发表于 2017-2-7 06:39:04 | 显示全部楼层 |阅读模式

  • EL脚本语言的配置和支持:
    对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为isELIgnored=true;
    <%@ page isELIgnored="true|false"%>
      对于整个JSP应用程序,要修改WEB.XML配置(tomcat5.0.16默认是支持EL的);
      <jsp-property-group></jsp-property-group>?
    <description> For config the ICW sample application </description>
    <display-name>JSPConfiguration</display-name>
    <url-pattern>/jsp/datareset.jsp</url-pattern>
    <el-ignored>true< /<ccid_code> el-ignored>
    <page-encoding>ISO-8859-1</page-encoding>
    <include-prelude>/jsp/prelude.jspf</include-prelude>
    <include-coda>/jsp/coda.jspf</include-coda>
    </ccid_code></el-ignored>
  • 算术运算符演示:
    以下是EL运算符列表,其中empty可以检查某个值是否为空
    运算符说明运算符说明
      +
      加
    > 或 gt大于
      -
      减
    <= 或 le小于等于
      *
      乘
    >= 或 ge大于等于
      / 或 div
      除
    && 或 and逻辑与
      % 或 mod
      模(求余)
    || 或 or逻辑或
      == 或 =
      等于
    ! 或 not逻辑非
      != 或 !=
      不等于
    empty检查是否为空值
      < 或 lt
      小于
    a ? b : c条件运算符
      EL表达式使用简单,在网页中"${}"表示是EL表达式。${1+1} 显示为 2
    EL算术表达式运算结果EL 关系运算表达式运算结果
    ${1}1${1 < 2}true
    ${1 + 2}3${1 lt 2}true
    ${1.2 + 2.3}3.5${1 > (4/2)}false
    ${-4 - 2}-6${4.0 >= 3}true
    ${21 * 2}42${4.0 ge 3}true
    ${10%4}2${100.0 eq 100}true
    ${10 mod 4}2${(10*10) != 100}false
    ${(1==2) ? 3 : 4}4${(10*10) ne 100}false


  • 隐含对象数据演示:  EL 表达式定义了11个隐含对象,使用这11个对象可以很方便的读取到session,cookie,HttpHeader,用户提交表单(param)等
    隐含对象

    内容

      applicationScope
    应用程序范围内的scoped变量组成的集合
      cookie
    所有cookie组成的集合
      header
    HTTP请求头部,字符串
      headerValues
    HTTP请求头部,字符串集合
      initParam
    全部应用程序参数名组成的集合
      pageContext
    当前页面的javax.servlet.jsp.PageContext对象
      pageScope
    页面范围内所有对象的集合
      param
    所有请求参数字符串组成的集合
      paramValues
    所有作为字符串集合的请求参数
      requestScope
    所有请求范围的对象的集合
      sessionScope
    所有会话范围的对象的集合
      下面是获取HTTP访问头部数据和用户提交数据的示例
    EL表达式运算结果
    ${header["host"]}
    这里得到HTTP连接头部的host值
    ${header["accept"]}这里获得HTTP头部的accept值
    ${header["user-agent"]}这里获得HTTP头部的user-agent值
    以下可以读取用户提交的信息,假设用户提交信息为 ?name=myname&alies=now.net.cn(这里有两种访问方式,一种是使用[]来进行访问,另外一种是使用" "来进行访问,两种访问效果是一样的。)
    ${param["name"] }?myname
    ${param.name} ?myname
    ${param["alies"] }?now.net.cn
    ${param.alies}now.net.cn
    ?
  • 定义和使用函数  表达式语言允许你定义可在表达式中调用的函数。函数必须作为public类中的public static方法编写。同时要将文件映射到TLD标志库文件中。
      为了说明函数的使用,我们举一个简单的例子,把两个数相加。首先要编写求两数之和的Java方法代码,如代码示例3所示,这里定义了一个静态方法,它接收两个字符串参数,把它们解析成整数并返回它们的和。
      示例文件:Compute.java
    package jsp2.examples.el;import java.util.*;public class Compute {
         public static int add(String x, String y) {
            int a = 0;
            int b = 0;
            try {
                a = Integer.parseInt(x);
                b = Integer.parseInt(y);
            }catch(Exception e) {}
                return a + b;
         }
    }
      用javac把这段代码编译成功后,下一步就要把函数的签名映射到标签库。代码示例4说明了如何把add函数映射到包含函数实现和函数签名的类。后面将说明把这段代码添加到哪儿。
      配置标记库描述文件 函数描述符
        <function>
    <description>add x and y</description>
    <name>add</name>
    <function-class>jsp2.examples.el.Compute
                        </function-class>
    <function-signature>int
                        add(java.lang.String,java.lang.String)
                                </function-signature>
    </function>
      现在我们就可以编写一个JSP页面来使用这个函数。代码示例5是包含两个字段的一个表单,用户输入两个数字并按下“求和”按钮,就会调用上面的函数并把两个数相加,结果在同一个页面中显示出来。
      代码示例5: math.jsp
    <%@ taglib prefix="my"
            uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib %>Functions

    Add Numbers

      


    X =

    Y =

      
    The sum is: ${my:add(param["x"],param["y"])}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-338460-1-1.html 上篇帖子: jsf+spring+hibernate问题,启动tomcat后报错 下篇帖子: Spring-XML配置-Tomcat -Unable to validate using XSD
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表