b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

el表达式_el表达式取值_el表达式三元运算符(4)

电脑杂谈  发布时间:2016-12-29 17:04:25  来源:网络整理

上面例子中,使用字符串’SOMESTOCK’作为buy方法的参数。

定义标签属性类型

如上一节所述,所有类型的表达式都可以用在标签属性中,立即和延迟表达式都会在使用过程中计算,取决于标签在VDL(视图描述语言)中定义的属性类型。

如果需要创建VDL中的个性化标签,需区分可以被接受的表达式类型。表格6-1列出了EL表达式接受的标签类型,例子和需要在VDL增加的属性类型定义。动态属性可以使用#{}语法,意味着属性接受运行时动态计算值。与之类似,${}语法不能用于延迟计算。

属性类型

表达式举例

属性类型定义

动态

“literal”

true

动态

${literal}

true

延迟值

“literal”

java.lang.String

延迟值

#{customer.age}

int

延迟方法

“literal”

java.lang.String submit()

延迟方法

#{customer.calcTotal}

double calcTotal(int, double)

表格6-1 EL表达式接受的标签属性定义

作为表格6-1中所列标签属性类型的附加,可以定义接受动态和延迟两种方式的表达式。这样,标签属性就会包含设置为true以及延迟值或延迟方法的rtexprvalue定义。

文字表达式

文字表达式计算为表达式的文本值,属于字符串类型。表达式无需使用${}或#{}符号。

如果某个文字表达式包含${}或#{}语法本身的显式,则需要使用以下字符:

n 创建综合表达式:

${’${’}exprA}

#{’#{’}exprB}

值结果分别是${exprA}和#{exprB}。

n 使用转义符\$和\#:

\${exprA}

\#{exprB}

值结果与第一种方式一致。

文字表达式计算时,可以转换为其他类型。表格6-1列出了文字表达式可转换的类型以及返回结果。

表达式

期望类型

结果

Hi

String

Hi

true

Boolean

Boolean.TRUE

42

int

42

表6-2文字表达式

文字表达式可以是立即或延迟计算,并且可以是值表达式或者方法表达式。文字表达式什么时候计算取决于其在哪里使用。标签属性使用的文字表达式可以接受延迟表达式的值,当对值进行引用时,文字表达式的计算依赖于其它因素对生命周期的影响,例如表达式用在哪里或者它引用的内容是什么。

方法表达式这种情况下,方法本身会被调用并返回某个特定的字符串文字。例如,应用程序guessnumber的h:commandButton标签使用文字型的方法表达式作为逻辑输出来告诉JSF导航系统当前页面的下个页面是什么。

运算符

EL提供了以下运算符,这些运算符只能用于右值表达式:

n 算数运算符:+,-(二进制),*,/和div,%和mod,-(普通一元)

n 逻辑运算符:and,&&,or,||,not,!

n 关系运算符:==,eq,!=,ne,<,lt,>,gt,<=,ge,>=,le。值的比较可以针对布尔、字符串、整型和浮点型等等。

n 空运算符:空运算符可以用在需要进行空运算的操作前面。null或者空值。

n 条件运算符:A?B:C。A的值取B或者C,取决于A运算的结果。

运算符的优先级遵从从高到低,从左到右的原则:

n [] .

n ()(用于改变运算符的优先级)

n -(一元) not ! empty

n * / div % mod

n + -(二进制)

n < > <= >= lt gt le ge


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23837-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...