Hi,

Need help.

We use struts 2.5.25 with Tiles 3.

We migrated struts 2.5.25 to struts 6.3.0.2, we hit error, see below, log from 
websphere app server version 9.0.5.

[1/11/24 12:02:32:792 EST] 000000f4 ServletWrappe E 
com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught 
service() exception root cause /cris/template/template.jsp: 
com.ibm.websphere.servlet.error.ServletErrorReport: 
java.lang.NoSuchMethodError: 
org/apache/tiles/template/InsertAttributeModel.execute(ZLjava/lang/String&#59;Ljava/lang/String&#59;Ljava/lang/Object&#59;Ljava/lang/String&#59;Ljava/lang/String&#59;Ljava/lang/String&#59;Lorg/apache/tiles/Attribute&#59;ZLorg/apache/tiles/request/Request&#59;Lorg/apache/tiles/autotag/core/runtime/ModelBody&#59;)V
 (loaded from 
file:/C:/Program%20Files/ibm/WebSphere/AppServer_1/profiles/AppSrv01/installedApps/weds/BBSear.ear/BBS.ear/BBSWeb.war/WEB-INF/lib/struts2-tiles-plugin-6.3.0.2.jar
 by 
com.ibm.ws.classloader.CompoundClassLoader@d53dbbf4[war:BBS/BBSWeb.war]

Can you please assist us.

Thanks.


Noel Deleon
CRIS/ICRIS, 201-828-8524








-----Original Message-----
From: Lukasz Lenart <lukaszlen...@apache.org> 
Sent: Friday, January 12, 2024 12:40 AM
To: Struts Users Mailing List <user@struts.apache.org>
Subject: [EXTERNAL] Re: Trouble with <s:radio /> tag after upgrading from 
struts v2.5.31 to v6.3.0.2

CAUTION! This email originated outside of the organization. Please do not open 
attachments or click links from an unknown or suspicious origin.

======================================================================
czw., 11 sty 2024 o 22:49 Burton Rhodes <burtonrho...@gmail.com> napisał(a):
>
> If I were to guess they removed the "?no_esc" flag in version 6.x in 
> the .ftl file.  That said, it's easy to override this.  (Assuming you 
> are using the Struts "simple" template) Locate the file 
> [struts2-core-6.3.0.2.jar]\template\simple\radiomap.ftl  and copy it 
> into your resources directory with the same tree:
> resource\\template\simple\radiomap.ftl
>
> Then towards the end of the ftl file you will see the <label> tag.  
> Just add "?no_esc" to the ${itemValue}.  Like this...
>
> <label for="${parameters.id}${itemKeyStr?replace(".", "_")}"<#include 
> "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl"/>><#rt/>
>      ${itemValue?no_esc}<#t/>
> </label>
>
> They most likely removed it due to security issues, but feel free to 
> change if you feel it's "safe".  I tested the above code and it worked 
> for me.

Thanks Burton for the solution! The issue is rather simple, a new Freemarker 
version escapes everything automatically, so we had to unescape everything. Yet 
in this case there was never ?no_esc flag as this worked fine with older 
versions of Freemarker. Adding ?no_esc shouldn't be a security issue IMHO. Feel 
free to create a ticket in JIRA to address this problem.

Cheers
Łukasz

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to