0

私は GateIn 3.6 のポートレットに取り組んでいます。現在、テーブル内のレコードを一覧表示するページを作成しました。ユーザーが任意の行をクリックすると、説明ページが表示されます。

現在、ユーザーが行をクリックすると、詳細ページが読み込まれますが、値は利用できません。私がやっている詳細はこちらです..

    @RenderMode(name = "view")
    public void display(RenderRequest request, RenderResponse response) throws PortletException, IOException, NamingException {

        RecordsDAO recordsDAO = new RecordsDAOImpl();

        // Records listing available on listing page
        request.setAttribute("recordsList", recordsDAO.getAllRecords());

        // tried to load record detail page when user click one row
        if(actionJsp == null || actionJsp.equals("")){
            getPortletContext().getRequestDispatcher("/jsp/ListRecords.jsp").
            include(request, response);
        } else {
            getPortletContext().getRequestDispatcher("/jsp/DetailsBoxRecord.jsp").
            include(request, response);
        }   
        actionJsp = "";
    }

そしてプロセスアクションは

    @ProcessAction(name = "details")
    public void details(ActionRequest request, ActionResponse response) throws PortletException, IOException {

         RecordsDAO recordsDAO = new RecordsDAOImpl();

         int id = Integer.parseInt(request.getParameter("id"));

         RecordsForm recordsForm = recordsDAO.getRecord(id);

         // way 1 set request attribute
         request.setAttribute("details", recordsForm);


         // way 2 set response attribute -- display error that cannot set Form type values
         response.setRenderParameter("details", recordsForm);
         actionJsp = "values";
    }

オプション 1: request.setAttribute で RecordsForm タイプの値を設定しようとしましたが、完了しましたが、リクエストの値が jsp ページで使用できません。

オプション 2: response.setRenderParameter の使用 response.setRenderParameter で RecordsForm タイプの値を設定して、jsp ページでこれらの値にアクセスすることができません。

私の場合、どちらが正しい方法であるか、詳細ページをロードできるようにこれらの値をjspページでどのように使用できるかを教えてください。

4

2 に答える 2