2016-12-21 7 views
0

要求の属性値として設定されたブール値を取得する方法。requst getAttributeでブール値を取得する方法java?

要求は/ isOriginalFile属性を含んでも含まなくてもよい次のスニペット

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { 

boolean isOriginal = (boolean) req.getAttribute(“isOriginalFile"); 
//Some code 
} 

を考えてみましょう。これをどう扱う?

答えて

3

あなたはどちらかの方法でそれを設定することがあります。

req.setAttribute("isOriginalFile", Boolean.TRUE); 
req.setAttribute("isOriginalFile", (Boolean) true); 
req.setAttribute("isOriginalFile", true); 

でもない文字列(それは、その後falseに評価されますので)として:

req.setAttribute("isOriginalFile", "true"); 
+1

いいね!うまく動作します:-) – lsof

0

getAttributeメソッドから返された値を解析します。

boolean isOriginal = Boolean.valueOf(String.valueOf(req.getAttribute("isOriginalFile"))); 

getAttributeはObjectを返し、Boolean.valueOfメソッドはStringパラメータをとります。したがって、最初に返された値をStringに変換し、解析します。

boolean isOriginal = Boolean.TRUE == req.getAttribute("isOriginalFile"); 

あなたは(null含む)Boolean.TRUEよりも何かに属性を設定した場合、その後、あなたがfalseを取得します:属性がnullときfalseを得ることは、あなたが期待するものであると仮定すると

https://docs.oracle.com/javase/7/docs/api/java/lang/Boolean.html#valueOf(java.lang.String)

+1

は 'Boolean.valueOf(であるべき... ) '、その開始見積もりは修正が必要です – JonK

+0

それを修正しました。ありがとう! – anacron

+0

このような属性がない場合、String.valueOf()はNPE –

関連する問題