Mantis - Resin
Viewing Issue Advanced Details
4768 major always 09-19-11 04:50 08-30-12 13:46
cyttesen  
ferg  
normal  
closed 4.0.22  
fixed  
none    
none 4.0.31  
0004768: Implicit/inline EL syntax not evaluated
Prior Resin 4.0.22 my webapp with implicit EL was evaluated correct. In Resin 4.0.22 the EL syntax is simply outputted (not evaluated).

If I insert isELIgnored JSP page directive:
<%@ page isELIgnored="false" %>

The webapp is working fine again.

My web.xml is defined as:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" [^] xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" [^] xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee [^] http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> [^]

According to the specification it must, by default, evaluate EL expressions in servlet 2.4+.

Any recent change?

Regards,
Christian
 resin.xml [^] (6,732 bytes) 09-20-11 00:11
 el-ignored.war [^] (670 bytes) 09-20-11 00:11

Notes
(0005514)
cyttesen   
09-19-11 06:07   
Prior 4.0.22 means that it was working in 4.0.19
(0005515)
cyttesen   
09-19-11 08:23   
Seems like its not (necessarily) only related to Resin 4.0.22.

After this 0004676 bug-report has been solved we are now able to deploy JSF applications with different JSF impl version. However as these JSF applications are time consuming to start/activate its been necessary to use the lazy start-up mode:

<web-app-deploy startup-mode="lazy">

Using this mode we identified that our applications was automatically stopped/deactivated after 2 hours which is not acceptable in our environment - to overcome this we use the idle-time attribute:

<web-app-default idle-time="30D">

It seems like this attribute is the root-cause of the issue. Removing this attribute (idle-time) and removing the compiled JSP/classes from WEB-INF/work directory - forcing a recompilation, EL expressions are evaluated again.

Thus in order to reproduce this error - you must add/remove this idle-time attribute and remember to delete the compile jsp class from the work directory.

(0005516)
ferg   
09-19-11 14:10   
I'm having trouble reproducing this. Does the resin.xml look something like:

<resin xmlns="http://caucho.com/ns/resin"> [^]
<cluster id="">
<host id="">
  <web-app-default idle-time="30D"/>
  <web-app-deploy path="webapps" startup-mode="lazy"/>
</host>
</cluster>
</resin>
(0005518)
cyttesen   
09-20-11 00:17   
Yes - I've attached the original resin.xml from the 4.0.22 distribution with the only changes in ln: 62+124.

Attached is also a simple webapp only containing a index.jsp.

To reproduce:
1. Stop server
2. Use attached resin.xml
3. Copy el-ignored.war to webapps directory
4. Start resin
5. Access /el-ignored
6. You should see '${pageContext.request.contextPath}' - not evaluated

Now
1. Stop server
2. Removed expanded el-ignored webapp directory
3. Remove idle-time="30D" attribute from resin.xml
4. Start resin
5. Access /el-ignored
6. You should see '/el-ignored' - evaluated

Adding this page directive to the JSP:
<%@ page isELIgnored="false" %>

It works at all times.
(0005617)
cyttesen   
11-14-11 22:42   
Hi Scott,

Did you manage to reproduce this one?

Regards,
Christian
(0005634)
ferg   
11-28-11 12:02   
No, I haven't been able to reproduce this yet.
(0006029)
ferg   
08-30-12 13:46   
jsp/013f