带参数方法调用JSP EL表达式
一个JSP EL表达式包含变量和操作符。任何存储在某个JSP作用范围(如:page、 request、session、application)的bean能被作为一个EL变量来使用。
操作符描述了你对变量所期望的操作。如果你之前曾经使用过任何编程语言的话,在EL表达式中所使用的操作符对你来说可能看起来很熟悉。因为它们和那些在大多数语言中所支持的操作符一样。
一个JSP EL表达式可以包含:数字、文本(在单引号或者双引号之间)、布尔值、null值。
因为一个JSP EL表达式可以出现在静态文本出现的地方,因此你必须告诉JSP容器它应该被当作一个EL表达式来处理。你可以通过使用定界符来做到这一点。一个JSP EL表达式总是以”${ }”来标记(一个“$”符号和一个左花括号,右花括号)。
调用JSP EL表达式支持带参数的方法,最新的实现是JUEL,大家可以试用一下。下面代码就是测试如何使用:
1.// the ExpressionFactory implementation is de.odysseus.el.
ExpressionFactoryImpl|
2.System.setProperty("javax.el.methodInvocations", "true");
3.ExpressionFactory factory = new de.odysseus.el.
ExpressionFactoryImpl(System.getProperties());
4.
5.// package de.odysseus.el.util provides a ready-to-use subclass of ELContext
6.de.odysseus.el.util.SimpleContext context = new de.
odysseus.el.util.SimpleContext();
7.07.
8.// set value for top-level property "foo" to String value "bar"
9.factory.createValueExpression(context, "${foo}", String.class).
setValue(context, "bar");
10.
11.// create an expression
12.ValueExpression e = factory.createValueExpression(context,
"${foo.toUpperCase()}", String.class);
13.// evaluate
14.System.out.println(e.getValue(context)); // --> BAR
带参数方法调用JSP EL表达式就介绍到这里,希望对大家能有所帮助。