[ https://issues.apache.org/jira/browse/WW-5368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17793890#comment-17793890 ]
Lukasz Lenart commented on WW-5368: ----------------------------------- The tag {{<s:select/>}} is on the top of the ValueStack when evaluating expressions {{{}%{...{}}}} so that's why you see the warning and access to {{getLabel()}} is blocked. I would suggest adding a method to an action and used it instead of the expression, eg. {code:java} public String createLabel(String suffix) { return getText("label.reasonOfTransaction." + suffix) } {code} and the in the tag {code:html} <s:select name="reasonOfTransactionCode" list="reasonOfTransactionList" listKey="top" listValue="%{createLabel(top)}"/> {code} > Access warning when get resource bundle which its name starts with "label" > -------------------------------------------------------------------------- > > Key: WW-5368 > URL: https://issues.apache.org/jira/browse/WW-5368 > Project: Struts 2 > Issue Type: Bug > Components: Core > Affects Versions: 6.3.0 > Reporter: Alireza Fattahi > Priority: Critical > Fix For: 6.4.0 > > > The below: > {code:java} > <s:select name="reasonOfTransactionCode" list="reasonOfTransactionList" > listKey="top" listValue="%{getText('label.reasonOfTransaction.'+top)}"/> > {code} > generates this warning for each item in the list, so if the > `reasonOfTransactionList` has seven items I see this error seven time: > {code:java} > ognl.SecurityMemberAccess: Access to non-public [protected java.lang.String > org.apache.struts2.components.UIBean.label] is blocked! > > {code} > > But this works fine If I just rename resource bundle and removes `label` > from its name > > {code:java} > <s:select name="reasonOfTransactionCode" list="reasonOfTransactionList" > listKey="top" listValue="%{getText('reasonOfTransaction.'+top)}"/> {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)