2
我們在升級到struts 2.5.12後使用struts 2.3.xx,我們發現ParameterAware
已被棄用,我們必須使用HttpParametersAware
。Struts 2.5 ParameterAware和HttpParametersAware
問題
有延伸ParameterAware
和變化動作之前的一些參數(它刪除輸入掩碼例如刪除,
從123,456,789
)的操作類:
public class Sample extends ActionSupport implements
ModelDriven<SampleVO>,ParameterAware {
@Override
public void setParameters(Map<String, String[]> parameters) {
for (String[] values : parameters.values()) {
for (int i = 0; i < values.length; i++) {
values[i] = Mask.removeMask(values[i]);
}
}
}
}
我們試圖用新的HttpParametersAware
做一下這樣的事情,比如:
for (Entry<String, Parameter> entry : parameters.entrySet()) {
String key = entry.getKey();
Parameter newParam = new Parameter.Request(key, entry.getValue().getValue().replaceAll(",", ""));
}
但我面對
HttpParameters are immutable, you cannot put value directly!
我們可以改變參數,比如我們用來做什麼的支柱2.3.x.錯誤怎麼樣 ?!如果沒有其他選擇?