オブジェクトを設定しているコードで、APPScan がValidation.requiredエラーをスローしているさまざまな場所があります。オブジェクトは次の 2 つの方法で設定されます。
A)
ExceptionBldr excepBuilder = (ExceptionBldr) session.getAttribute(SN_EXCEPBLDR);
これは、セッションから取得しているオブジェクトに対して null チェックを行うだけで解決しています。
B)
PageManager pm;
HttpServletRequest request = modelContext.getHttpServletRequest();
ResourceBundle resourceBundle = documentContext.getResourceBundle();
if (request.getAttribute("PageManager") == null) {
pm = new PageManager(modelContext, documentContext);
String title = resourceBundle.getString("Workbench.title");
if (title == null)
title = "";
pm.setPageTitle(title + " " + getInstance(request));
pm.setInstanceName(getInstance(modelContext.getHttpServletRequest()));
pm.setListingName(getListingName());
request.setAttribute("PageManager", pm);
すべての引数に対して null チェックを実行してから、オブジェクトを設定する前に完全なオブジェクトに対して null チェックを実行できます (それで問題が解決するかどうかはわかりません) が、より良い方法はありますか? そのようなすべてのインスタンスのジェネリック クラスを作成したいと考えています。
部分的なアイデア:
a) オブジェクトが有効なクラスに属しているかどうかを検証します。
b) クラスのメソッドを取得して繰り返します。
しかし、設定している引数を確認するにはどうすればよいですか?
他の種類の提案も大歓迎です。