jsp页面弹窗的消失

以下是用 JSP 实现该功能的示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>弹窗示例</title>
    <style type="text/css">
        /* 弹窗样式 */
        .popup {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: #fff;
            padding: 20px;
            box-shadow: 0 0 10px rgba(0,0,0,0.5);
            z-index: 9999;
        }
    </style>
</head>
<body>

    <!-- 页面内容 -->
    <h1>Hello World!</h1>

    <!-- 弹窗内容 -->
    <div id="popup" class="popup" style="display:none;">
        <p>这是一个弹窗。</p>
        <button οnclick="hidePopup()">确定</button>
    </div>

    <script type="text/javascript">
        // 显示弹窗
        window.onload = function() {
            document.getElementById("popup").style.display = "block";
        };

        // 隐藏弹窗
        function hidePopup() {
            document.getElementById("popup").style.display = "none";
        }
    </script>

</body>
</html>

代码中,我们首先定义了一个名为 popup 的样式,将其设置成固定定位,并使其居中于页面。接着在页面中添加了一个 div 元素,作为弹窗内容的容器,并将其初始状态设为不可见。

在页面加载完毕后,通过 JavaScript 脚本将弹窗的 display 属性设置为 block,即可让其显示出来。点击弹窗中的确定按钮后,通过调用 hidePopup() 函数将弹窗隐藏。

你可以根据自己的需求修改这段代码,并根据需要将其嵌入到 JSP 页面中。

JSP 页面中获取当前页面弹窗中的列表数据,通常需要结合前端 JavaScript 与后端 JSP 的数据交互机制。弹窗中的列表数据可以来源于后端传递的请求属性、会话属性,也可以通过异步请求(如 AJAX)从后端获取。以下是几种实现方式: ### 1. 通过 JSP 表达式获取后端传递的列表数据 如果列表数据是从后端通过 `request.setAttribute()` 传递到 JSP 页面,可以使用 JSP 表达式 `<%= %>` 或 EL 表达式 `${}` 将数据注入到 JavaScript 中,再通过 DOM 操作显示在弹窗中。 ```jsp <% List<String> dataList = (List<String>) request.getAttribute("dataList"); %> <script type="text/javascript"> var dataList = [ <% for (String item : dataList) { %> "<%= item %>", <% } %> ]; // 弹窗显示列表数据 function showPopup() { var popupContent = ""; for (var i = 0; i < dataList.length; i++) { popupContent += dataList[i] + "\n"; } alert("列表数据:\n" + popupContent); } </script> <button onclick="showPopup()">显示弹窗数据</button> ``` ### 2. 通过 AJAX 异步加载弹窗中的列表数据 如果数据量较大或需要动态加载,可以通过 AJAX 请求从后端获取 JSON 数据,并在回调函数中渲染弹窗内容。 ```jsp <script type="text/javascript"> function fetchPopupData() { var xhr = new XMLHttpRequest(); xhr.open("GET", "getData.jsp", true); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { var dataList = JSON.parse(xhr.responseText); var popupContent = ""; for (var i = 0; i < dataList.length; i++) { popupContent += dataList[i] + "\n"; } alert("AJAX 获取的列表数据:\n" + popupContent); } }; xhr.send(); } </script> <button onclick="fetchPopupData()">通过 AJAX 获取弹窗数据</button> ``` ### 3. 使用 EL 表达式简化数据传递 若使用 JSTL 或 EL 表达式,可以更简洁地将后端数据传递给 JavaScript: ```jsp <script type="text/javascript"> var dataList = ${dataList}; // 假设 dataList 是 requestScope 中的 List<String> function showPopupEL() { var popupContent = dataList.join("\n"); alert("EL 表达式获取的列表数据:\n" + popupContent); } </script> <button onclick="showPopupEL()">显示 EL 表达式弹窗数据</button> ``` ### 4. 动态路径引用资源(如 JS、CSS) 为了确保资源路径的正确性,尤其是在嵌套目录结构中,建议使用动态路径获取方式: ```jsp <script src="${pageContext.request.contextPath}/js/popup.js"></script> <link rel="stylesheet" href="${pageContext.request.contextPath}/css/popup.css"> ``` 这种方式可以避免因路径错误导致资源加载失败的问题[^3]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值