JSP表达式语言

时间:2018-11-15 12:07:35  来源:igfitidea点击:

表达式语言(Expression Language)是在JSP 2.0规范中引入的。它可以像scriptlet一样完成几乎所有的事情,而且它更容易理解。

JSP表达式语言基本语法

表达式语言的语法非常简单:

${expr}

其中expr是一个表达式。当Java编译器看到符号${}时,它会计算表达式expr并将结果插入到调用${expr}的地方(替换${expr})。

NewClass.java

package newpackage;

public class NewClass {
    String text;
    public void setText(String s){
        this.text = s;
    }
    public String getText(){
        return this.text;
    }
}

index.jsp

<html>
    <head>
        <title>JSP表达式语言</title>
    </head>
    <body>
        <jsp:useBean id="msg" class="newpackage.NewClass"/>
        <jsp:setProperty name="msg" 
                         property="text"
                         value="这是一条信息。" />
        <span>${msg.text}</span>
    </body>
</html>

在上面的示例中,首先,我们使用action useBean实例化类NewClass的新对象并设置它的属性text。

然后我们使用${msg.text}作为一个表达式。当编译器解析到这种语法时,它对表达式进行求值(调用对象的适当方法,该方法返回text属性的值)。所以在输出内容中,您将看到显示的消息“这是一条信息。”。

字面量值

字面量值是具有特定数据类型的常量,可以在表达式中与变量一起使用。有五种基本的类型如下:

  • Boolean: true 或 false
  • Integer: 0到9的数字组合
  • Floating Point
  • String
  • Null: null

操作符

表达式语言支持多种运算符,包括算术运算符、关系运算符和逻辑运算符。这些操作符可以用于文字和变量间的计算。以下是表达式语言操作符的列表:

运算符可换成说明
[]访问集合成员
·访问属性
()分组
一元否定
!not逻辑非
Empty检测是否为空
*乘法
/div除法
%mod取余
+加法
减法
<lt小于
>gt大于
<=le小于或等于
>=ge大于或等于
==eq等于
!=ne不等于
&&and逻辑与
||or逻辑或
=赋值
?:条件操作符