0

サーブレット セッション属性と JQuery を使用して div を表示する際に問題があります。文脈なしで説明するのは難しいので、ご容赦ください。

「result.jsp」ページがあります。jsp には、「Generate URL」リンク、空の入力テキスト フィールド、および「addThis」div があります。リンク「Generate URL」は、jquery ajax メソッド「utilComp()」を呼び出します。このメソッドは、セッション属性「saveLink」を設定するサーブレットを呼び出し、値を返し、空のテキスト フィールドに入力します。

属性セッション「saveLink」が null の場合 (URL の生成がまだクリックされていないため)、result.jsp のロード時に div を非表示にする必要があります。if test="${not empty saveLink}" を使用してこれを行うと、div が非表示になります。

私の問題はそれを取り戻すことです。ajax utilComp() が実行された後、常に属性 saveLink が設定された後、「addThis」div を表示する必要があります。どうすればこれを達成できるか考えている人はいますか?ヘルプやアイデアをいただければ幸いです。

これは、重要なスニペットのみが表示された RESULT.JSP です。

<script type="text/javascript">
    function utilComp()     {
        var jqXHR = $.ajax({
            type: "POST",
            url: "http://www.central.com/sharemake.do",
            async: false,
            global: false,
            done: function(response){
        return response;
         },
         fail: function(e){
            alert('Error: ' + e);
         }
    }).responseText;    

    $('#savelink_id').val(  jqXHR    );
</script>

<a href="javascript:utilComp()"> Generate Link </a> 

<input type="text" name="savelink_name" id="savelink_id" value="<c:out value="${saveLink}" />" />

<div class="addthis_toolbox addthis_default_style">
   <a class="addthis_button_gmail" addthis:url="<c:out value="${saveLink}"/>" </a>
</div>

これは、utilComp() によって呼び出されるサーブレット コードです。

String addressID = "http://www.central.com/generate"
session.setAttribute("saveLink", addressID);
String resultToReturntoAjax = addressID ;

PrintWriter out = response.getWriter();
response.setContentType("text/text;charset=utf-8");
response.setHeader("cache-control", "no-cache");
out.println(resultToReturntoAjax);
4

1 に答える 1