📄 requestloader.java
字号:
package jodd.bean.loaders;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
import jodd.bean.BeanUtil;
/**
* Populates java bean from HttpServletRequest 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 RequestLoader implements jodd.bean.Loader {
public void load(Object bean, Object request) {
if (request instanceof HttpServletRequest) {
Enumeration paramNames = ((HttpServletRequest)request).getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = (String) paramNames.nextElement();
String[] paramValues = ((HttpServletRequest)request).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);
}
}
}
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -