所以我有一个很长的查询字符串,可以是......
//url=z&surl=y&time=z&codec=a264&acodec=mp3&width=400x100 或者 //url=z&surl=y&time=z&optlevel=w
我使用 request.getQueryString("url") 来检查 a) qs 是否在那里 b) 确保它不为空。这一切都导致了一大堆乱七八糟的 if 语句。我只是想知道是否有更好的方法来做到这一点。
例子..
if(request.getParameter("originalURL") != null &&
request.getParameter("originalURL").equals("") && ................)
Run Code Online (Sandbox Code Playgroud)
谢谢你们
当然,只需将重复的代码重构为方法或使用现有框架即可。
重构代码的基本启动示例:
String field1 = getField(request, "field1", true);
String field2 = getField(request, "field2", true);
String field3 = getField(request, "field3", false);
...
public static String getField(HttpServletRequest request, String fieldName, boolean required) throws ValidatorException {
String fieldValue = request.getParameter(fieldName);
if (fieldValue == null || fieldValue.trim().isEmpty()) {
if (required) {
throw new ValidatorException("Field is required");
} else {
fieldValue = null; // Make empty string null so that you don't need to hassle with equals("") afterwards.
}
}
return fieldValue;
}
Run Code Online (Sandbox Code Playgroud)
您当然可以更进一步,采用具有验证(和转换)功能的现有 MVC 框架,例如Sun JSF或Apache Struts。
| 归档时间: |
|
| 查看次数: |
3818 次 |
| 最近记录: |