如何使用requst getAttribute java获取布尔值?
如何在请求中将布尔值设置为属性值 考虑以下代码段如何使用requst getAttribute java获取布尔值?,java,httprequest,getattribute,Java,Httprequest,Getattribute,如何在请求中将布尔值设置为属性值 考虑以下代码段 protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { boolean isOriginal = (boolean) req.getAttribute(“isOriginalFile"); //Some code } 其中请求可能/可能不包含isOriginalFile属性。如
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
boolean isOriginal = (boolean) req.getAttribute(“isOriginalFile");
//Some code
}
其中请求可能/可能不包含
isOriginalFile
属性。如何处理此问题?解析getAttribute方法返回的值
boolean isOriginal = Boolean.valueOf(String.valueOf(req.getAttribute("isOriginalFile")));
getAttribute返回一个对象,Boolean.valueOf方法接受一个字符串参数。因此,首先将返回的值转换为字符串,然后对其进行解析
解析getAttribute方法返回的值
boolean isOriginal = Boolean.valueOf(String.valueOf(req.getAttribute("isOriginalFile")));
getAttribute返回一个对象,Boolean.valueOf方法接受一个字符串参数。因此,首先将返回的值转换为字符串,然后对其进行解析
假设在属性为
null
时获取false
是您所期望的:
boolean isOriginal = Boolean.TRUE == req.getAttribute("isOriginalFile");
然后,如果将属性设置为除Boolean.TRUE
(包括null
)以外的任何值,则会得到false
您可以通过以下任一方式进行设置:
req.setAttribute("isOriginalFile", Boolean.TRUE);
req.setAttribute("isOriginalFile", (Boolean) true);
req.setAttribute("isOriginalFile", true);
但不作为字符串(因为它将被计算为false
):
假设在属性为
null
时获取false
是您所期望的:
boolean isOriginal = Boolean.TRUE == req.getAttribute("isOriginalFile");
然后,如果将属性设置为除Boolean.TRUE
(包括null
)以外的任何值,则会得到false
您可以通过以下任一方式进行设置:
req.setAttribute("isOriginalFile", Boolean.TRUE);
req.setAttribute("isOriginalFile", (Boolean) true);
req.setAttribute("isOriginalFile", true);
但不作为字符串(因为它将被计算为false
):
应该是
Boolean.valueOf(…)
,开头的引号需要修正。谢谢注意,如果没有这样的属性,String.valueOf()将抛出NPE@BalajiKrishnan,String.valueOf(Object)
不会抛出NPE。由于req.getAttribute
的返回类型是Object,它将专门匹配重载String.valueOf(Object)
,因此它可以工作!应该是Boolean.valueOf(…)
,开头的引号需要修正。谢谢注意,如果没有这样的属性,String.valueOf()将抛出NPE@BalajiKrishnan,String.valueOf(Object)
不会抛出NPE。由于req.getAttribute
的返回类型是Object,它将专门匹配重载String.valueOf(Object)
,因此它可以工作!不错!工作很好:-)不错!工作罚款:-)