[
https://issues.apache.org/jira/browse/WW-5436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17861180#comment-17861180
]
Lukasz Lenart commented on WW-5436:
-----------------------------------
I think this is the issue:
{noformat}
2024-06-30 13:57:35 | WARN | [ajp-nio-127.0.0.1-8011-exec-4] ? ( | Package
[package org.apache.commons.beanutils, Apache Commons BeanUtils, version 1.9.4]
of member class [class org.apache.commons.beanutils.LazyDynaBean] of member
[org.apache.commons.beanutils.LazyDynaBean@1fb72ba8] is excluded!
{noformat}
BeanUtils package has been excluded WW-5358 (see [PR
#774|https://github.com/apache/struts/pull/774]) - please our [Security
Guide|https://struts.apache.org/security/#ognl-member-access] how to change the
exclusion list, yet I would recommend refactor the code to avoid using
BeanUtils in JSP diretcly.
> Select tag NOT working when using list of
> org.apache.commons.beanutils.LazyDynaBean
> -----------------------------------------------------------------------------------
>
> Key: WW-5436
> URL: https://issues.apache.org/jira/browse/WW-5436
> Project: Struts 2
> Issue Type: Bug
> Affects Versions: 6.4.0
> Reporter: Javier
> Priority: Major
> Fix For: 6.5.0
>
>
> Some jsp file using to get a list from DB:
> {code}
> <beanList:getList storeProcName="getAllParPeriods"
> valueType="org.apache.commons.beanutils.LazyDynaBean"
> listPageName="parPeriods" poolKey="SQLDB" />
> <s:form theme="simple" id="EditPAREmpID" name="EditPAREmp.action"
> action="EditPAR" target="_blank" method="post">
>
> <div class="form-group pr-2 ">
> <label for="periodid" class="title"> PAR Period:</label>
> <div class="form-group font-weight-bold">
> <label for="periodid">Select Par Period</label>
> <s:select list="#request.parPeriods" name="periodid"
> listKey="map.periodid" listValue="map.fullparperiod" cssClass="form-control
> parselect" />
>
> </div>
>
> </div>
>
> </s:form>
> {code}
> Works with struts2-core-6.1.1.jar does NOT work with struts2-core-6.4.0.jar
> {noformat}
> 2024-06-28 12:22:07 | ERROR | [ajp-nio-127.0.0.1-8011-exec-10] ? (:) | Could
> not open template
> java.lang.NullPointerException: Cannot invoke
> "com.opensymphony.xwork2.ActionInvocation.getProxy()" because "invocation" is
> null
> at
> org.apache.struts2.components.Component.getNamespace(Component.java:448)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.components.Component.determineNamespace(Component.java:433)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.components.ServletUrlRenderer.renderFormUrl(ServletUrlRenderer.java:140)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.components.Form.populateComponentHtmlId(Form.java:232)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:796)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.components.ClosingUIBean.start(ClosingUIBean.java:53)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:51)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.jsp.epar.locatePAR_jsp._jspx_meth_s_005fform_005f0(locatePAR_jsp.java:317)
> ~[?:?]
> at org.apache.jsp.epar.locatePAR_jsp._jspService(locatePAR_jsp.java:202)
> ~[?:?]
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> ~[jasper.jar:9.0.67]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
> ~[servlet-api.jar:4.0.FR]
> at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
> ~[jasper.jar:9.0.67]
> org.apache.jasper.JasperException: An exception occurred processing
> [/epar/locatePAR.jsp] at line [65]
> 62: <div class="form-group font-weight-bold">
> 63: <label for="periodid">Select Par
> Period</label>==${parPeriods[0].map.periodid } =${parPeriodsx}
> 64: <s:select list="#request.parPeriods" name="periodid"
> listKey="map.periodid" listValue="map.fullparperiod" cssClass="form-control
> parselect" />
> 65:
> 66:
> 67: </div>
> 68:
> Caused by: java.lang.NullPointerException: Cannot invoke
> "java.util.List.add(Object)" because "tags" is null
> at org.apache.struts2.components.UIBean.evaluateParams(UIBean.java:804)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at org.apache.struts2.components.UIBean.end(UIBean.java:550)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:38)
> ~[struts2-core-6.4.0.jar:6.4.0]
> at
> org.apache.jsp.epar.locatePAR_jsp._jspx_meth_s_005fselect_005f0(locatePAR_jsp.java:388)
> ~[?:?]
> at
> org.apache.jsp.epar.locatePAR_jsp._jspx_meth_s_005fform_005f0(locatePAR_jsp.java:338)
> ~[?:?]
> at org.apache.jsp.epar.locatePAR_jsp._jspService(locatePAR_jsp.java:202)
> ~[?:?]
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> ~[jasper.jar:9.0.67]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:779)
> ~[servlet-api.jar:4.0.FR]
> {noformat}
> I have other pages where I get no errors but generates an empty {{<select/>}}
> {code}
> <select name="periodid" id="formID" class="form-control " >
> <option value=""></option>
> <option value=""></option>
> </select>
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)