JSP表达式语言


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

JSP表达式语言基本语法

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

1
${expr}

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

NewClass.java

1
2
3
4
5
6
7
8
9
10
11
package newpackage;
public class NewClass {
String text;
public void setText(String s){
this.text = s;
}
public String getText(){
return this.text;
}
}

index.jsp

1
2
3
4
5
6
7
8
9
10
11
12
<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 逻辑或
= 赋值
?: 条件操作符


原文链接:https://codingdict.com/