Servlet:处理许多可选参数 [英] Servlet: Handling many optional parameters
本文介绍了Servlet:处理许多可选参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
只是想知道是否有更优雅或标准的方法来处理可选参数,或者是否必须检查每个参数是否为空。我有10多个可选参数,所以它有点难看。
Just wondering if there is a more elegant or standard way to handle the optional parameters or if you have to check if every one is null. I have 10+ optional parameters so it is getting somewhat ugly.
理想情况下,我想要像bash命令一样: getopts
。
Ideally I would like something like the bash command: getopts
.
public class MapImageServlet extends HttpServlet {
... constructor and other methods ...
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// OPTIONAL PARAMETERS
if(request.getParameter("boarderSize") != null){
double boarderSize = Double.valueOf(request.getParameter("boarderSize");
}
if(request.getParameter("boarderThickness") != null){
double boarderThickness = Double.valueOf(request.getParameter("boarderThickness");
}
if(request.getParameter("boarderColor") != null){
double boarderColor = Double.valueOf(request.getParameter("boarderColor");
}
... do stuff with the parameters ...
}
... other methods ...
}
推荐答案
写一个像这样的实用程序
Write a utility like this
public class MapImageServlet extends HttpServlet {
//... constructor and other methods ...
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// OPTIONAL PARAMETERS
boarderSize = ParamUtil.getDoubleValue(request,"boarderSize", defaultValue);
boarderThickness = ParamUtil.getDoubleValue(request, "boarderThickness", defaultValue);
boarderColor = ParamUtil.getDoubleValue(request,"boarderColor" , defaultValue);
//... do stuff with the parameters ...
}
}
public class ParamUtil
{
public static double getDoubleValue(ServletRequest request, String paramName, double defaultValue)
{
if(request.getParameter(paramName) != null){
return Double.valueOf(request.getParameter(paramName));
} else{
return defaultValue;
}
}
}
这篇关于Servlet:处理许多可选参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文