0

コードから次のエラーが表示されるのはなぜですか?

エラー 500: 要求の処理に失敗しました。ネストされた例外は java.lang.IllegalArgumentException: Request must not be null です

コードスニペット

protected void buildPdfDocument(Map modelo, Document document, PdfWriter pdfWriter, HttpServletRequest request, HttpServletResponse response) throws IOException
{

    // The problem is here to pass HttpServletRequest to ActionRequest or PortletRequest
    ActionRequest aRequest = (ActionRequest) request.getAttribute("javax.portlet.request");

    // I need to validate user's session
    Cliente cliente = (Cliente) PortletUtils.getSessionAttribute(aRequest, AtokConstante.CLIENTE_SESION,PortletSession.APPLICATION_SCOPE);
}
4

1 に答える 1

0

例外のスタック トレースがなければ、変数aRequestNULL. これは、属性がオブジェクト"javax.portlet.request"に設定されていないことを意味します。HttpServletRequest requestこの nullaRequestPortletUtils.getSessionAttribute()に渡している可能性が高く、例外がスローされています。

他のコードを続行することなくrequest、メソッドの前にのライフサイクルを調査しbuildPdfDocument()、予想される値が key に保存されているかjavax.portlet.request、最初に正しいキー String を使用していることを確認することをお勧めします。

于 2015-09-02T19:34:09.993 に答える