📄 multipartrequestloader.java
字号:
package jodd.bean.loaders;
import java.util.Enumeration;
import jodd.bean.BeanUtil;
import jodd.servlet.MultipartRequest;
import jodd.servlet.UploadedFile;
/**
* Populates java bean from MultipartRequest objects.
* <p>
*
* Names of requests parameters represents the names of bean properties.
* Values of requests parameters represents values of bean properties.
* <p>
*
* By java servlet specifications, parameter values are always String arrays
* (String[]). That is how they are sent to BeanUtil.setProperty(),
* except in case when this array contains just one String element. In that
* case it is sent as a single String.
* <p>
*
* BeanUtil.setProperty() will populate correctly target property.
*/
public class MultipartRequestLoader implements jodd.bean.Loader {
public void load(Object bean, Object request) {
if (request instanceof MultipartRequest) {
MultipartRequest mrequest = (MultipartRequest) request;
Enumeration paramNames = mrequest.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
String[] paramValues = mrequest.getParameterValues(paramName);
if (paramValues == null) {
continue;
}
if (paramValues.length == 0) {
continue;
}
if (paramValues.length == 1) {
// send just String
BeanUtil.setProperty(bean, paramName, paramValues[0]);
} else {
// send String array
BeanUtil.setProperty(bean, paramName, paramValues);
}
}
paramNames = mrequest.getUploadedFileNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
UploadedFile uf = mrequest.getUploadedFile(paramName);
BeanUtil.setProperty(bean, paramName, uf);
}
}
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -