我可以在 struts.xml 中的拦截器参数声明中使用请求参数的值吗?

Can I use the value of a request parameter in an interceptor param declaration in struts.xml?

我正在使用 Struts 2.3.

我有一个带有参数的拦截器(注意:代码稍微简化以删除一些转换):

private String parameterName = null;
private String parameterValueSuffixParameter = null;
// getter and setter.

// in my doIntercept(), get the view.suffix Integer parameter from the page;
parameterName.concat(context.getParameters().get(parameterValueSuffixParameter)[0]);

此参数在 struts.xml 操作定义中定义:

<action name="actionName" method="methodName" class="com.example.myAction>
    <interceptor-ref name="defaultStack">
        <param name="interceptor.parameterName">parameterValue</param>
        <param name="interceptor.parameterValueSuffixParameter">view.suffix</param>
    </interceptor-ref>
    <result name="success">/jsp/result.jsp</result>
</action>

在页面上:

<s:hidden name="view.suffix" value="%{view.suffx}" />

现在,我想要做的是通过直接使用拦截器参数中的后缀值来删除 struts.xml 和 parameter.concat 行中的额外参数。这可能吗?

我已经尝试了 parameterValue${view.suffix},但是没有用,parameterName 被直接设置为一个字符串。

在检查 struts Jira 上的一些问题后,我发现此功能已在 Struts 2.5.9 中使用惰性参数实现,但在 Struts 2.3 中不可用,我正在使用。由于更新 Struts2 在我目前的开发阶段不可行,我将不得不使用我的解决方法。