如何在 Struts 2 中使 fileUpload 参数动态化

How to make fileUpload parameters dynamic in Struts 2

在 Struts 2 应用程序中,我们使用 fileUpload 拦截器从用户那里获取文件。

fileUpload 有一些配置 maximumSize , allowedTypes , allowedExtensions 可以用作:

<interceptor-ref name="fileUpload">
    <param name="maximumSize">200000</param>                                          
    <param name="allowedTypes">text/plain</param>
    <param name="allowedExtensions">txt</param> 
</interceptor-ref>

是否可以使这些参数动态化!?

例如:

<param name="maximumSize">${maxsize}</param>    

并让操作设置其最大文件大小。

不可能使这些参数动态化。但是在运行时调用拦截器时,您可以动态获取值

String maxsize = TextParseUtil.translateVariables(maximumSize, actionInvocation.getStack());

动作是在拦截器链之后调用的,所以不能设置值。但是,您可以在链接结果之前转换值。