0

リクエスト ディスパッチャを使用して、JSP ページからサーブレットに 2 つの値を渡そうとしています。

JSP コードは次のとおりです。

<%
            String companyName = (String) request
                    .getAttribute("adminCompnayName");
            String tenantId = (String) request.getAttribute("adminTenantId");

            request.setAttribute("adminCompnayName", companyName);

            request.setAttribute("adminTenantId", tenantId);

request.setAttribute("adminTenantid","my compnay");
            request.setAttribute("adminCompanyname"," my tenant id");
            String servletName="../StoreUserDetails";
            RequestDispatcher dispatcher = request.getRequestDispatcher(servletName);
            if (dispatcher != null){
            dispatcher.forward(request, response);
            } 

これら 2 つの値は、別のサーブレットから受け取ります。

これは、値を受け取るサーブレット コードです。

String tenantId = (String) request.getAttribute("adminTenantid");
        String companyName = (String) request
                .getAttribute("adminCompanyname");




out.println("--------------------------"
                + request.getAttribute("adminTenantid"));
        out.println("--------------------------"
                + request.getAttribute("adminCompanyname"));

しかし、私はヌル値を取得しています。

--------------------------null 

--------------------------null

修正方法は?

4

1 に答える 1

3

adminTenantId属性をおよびとして保存adminCompnayNameし、サーブレットでadminTenantidおよびとして取得しますadminCompanyname。このようなタイプミスを避けるために、属性のスペルを確認するか、定数を定義してどこでも使用してください。

つまり、適切に設計されたアプリケーションは、JSP からサーブレットではなく、サーブレットから JSP にディスパッチする必要があります。JSP はスクリプトレットを使用すべきではなく、EL、JSTL、およびその他のカスタム タグを使用してマークアップを生成するためにのみ使用する必要があります。

于 2012-10-21T09:26:48.147 に答える