https://issues.apache.org/bugzilla/show_bug.cgi?id=54499
Bug ID: 54499
Summary: Implementation of Extensible EL Interpreter
Product: Tomcat 7
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: Jasper
Assignee: [email protected]
Reporter: [email protected]
Depends on: 54239
Classification: Unclassified
Created attachment 29898
--> https://issues.apache.org/bugzilla/attachment.cgi?id=29898&action=edit
JasperELInterpreter implementation
Jasper ELInterpreter Implementation
Simple ELInterpreter. It can transfer simple ELs to java code directly.
EL is a big bottleneck of JSP. EL resolving takes much CPU expense.
The performance is better when simple ELs were transfered to java code.
However the code will by pass all ELResolvers. This interpreter is not a
standard of JSP specification.
When activate this ELInterpreter. User must know how it works.
Here are the cases of Simple ELs,
1.Simple EL, only contains one part of expression, for example ${elemId}. This
kind of EL will be generated as
this.getJspContext().findAttribute("elemId")
2.EL with two parts of expression and type of first part is specified by
attribute in Tag File.
For example, ${model.location} . "model" is specified on the top of tag
file,
<%@ attribute name="model" required="true"
type="org.apache.jasper.model.results.ItemModel" %>.
It is generated as (getModel() != null ? getModel().getLocation() : null)
3.EL with logic or arithmetic and the value part can be generated.
For example: ${(intlExpansion eq 'true' && not empty model.location) ||
sortType==7}
It is generated as
(org.apache.jasper.runtime.ELRuntimeUtil.equals(getIntlExpansion(),
"true")&&(!org.apache.jasper.runtime.ELRuntimeUtil.isEmpty((getModel() != null
? getModel().getLocation() : null))))
How to apply this ELInterpreter?
It is based on BUG 54239.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]