bugfix> javascript > 投稿

他のページをモーダルdivにロードするjspページがあります。他のページで認識される変数を取得できません。問題は簡単に解決できると確信していますが、何か助けはありますか?

メインページの変数page1は次のとおりです。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.page.SelectPage" %>
<% SelectPage page1 = (SelectPage)request.getAttribute("page"); %>

シンプルなモーダルdivが定義されています

<div class="container modal" id="mymodal"  style="height:70%"></div>

誰かがリンクをクリックすると、jquery.loadを使用してモーダルをロードします

<a class="btn btn-outline modal-trigger" onclick="modalNavigate('mytopic');">Single Modal Navigation</a>
<script>
function modalNavigate(navPage){
    $("#mymodal").load(navPage + ".jsp");
}
</script>

ただし、navpageが読み込まれると、変数page1は認識されません

回答 2 件
  • 問題はその request.getAttribute("page")   $.load() を使用するとスコープが失われます  別のリクエストにつながるため。

    オプション1.リクエストの代わりにセッションを使用して page を取得する  オブジェクト。

    オプション2. request page object からの追加パラメーターで$.loadの代わりに$.ajaxを使用する 。

  • サーバーにajaxリクエストを行い、データをJSPに返し、AJAXリクエストが成功すると、データをモーダルポップアップに追加します。

あなたの答え