转载

带参数方法调用JSP EL表达式

带参数方法调用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表达式就介绍到这里,希望对大家能有所帮助。

正文到此结束
Loading...