关于在jsp页面中取得request中的值并alert出来

关于在jsp页面中取得request中的值并alert出来

如题,我在servlet中对于是否删除成功都进行了setAttribute并转发到jsp页面,在jsp页面中取出msg的值后如何将这个值alert出来呢?我自己尝试写了一下不成功,请老师指点一下。

package com.imooc.jdbc.servlet;

import com.imooc.jdbc.bean.Message;
import com.imooc.jdbc.bean.User;
import com.imooc.jdbc.service.MessageService;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Objects;

public class MyMessageListServlet extends HttpServlet {

        private MessageService messageService;

        @Override
        public void init() throws ServletException {
            super.init();
            messageService = new MessageService();
        }

        @Override
        protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String pathName = request.getServletPath();
            if(Objects.equals("/my/message/list.do",pathName)){
                String pageStr = request.getParameter("page");//当前是第几页

                User user = (User)request.getSession().getAttribute("user");
                String username = user.getName();

                int page = 1;//当拿不到数据时,默认值是1
                //把当前页码赋值给page
                if(null != pageStr && (!"".equals(pageStr))){
                    try {
                        page = Integer.parseInt(pageStr);
                    } catch (NumberFormatException e) {
                        //可能会出现问题,进行try/catch
                        //catch到异常了不管,默认第一页
                        e.printStackTrace();
                    }
                }

                List<Message> messages = messageService.getMyMessages(username,page,5 );//分页查询全部留言
                int count = messageService.countMyMessages(username);
                System.out.println(count);

                //最后一页是第几页
                int last = count % 5 == 0 ? (count/5) : ((count/5) + 1);

                request.setAttribute("last",last);
                request.setAttribute("messages",messages);
                request.setAttribute("page",page);

                request.getRequestDispatcher("/WEB-INF/views/biz/my_message_list.jsp").forward(request,response);
            }  else if(Objects.equals("/delete.do",pathName)) {
                String id = request.getParameter("id");
                int result = messageService.deleteMsgById(id);
                if(result == 0){
                    request.setAttribute("msg","删除留言失败!");
                    request.getRequestDispatcher("/my/message/list.do").forward(request,response);
                }else{
                    request.setAttribute("msg","删除留言成功!");
                    request.getRequestDispatcher("/my/message/list.do").forward(request,response);
                }

            }
        }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<html>
<head>
    <meta charset="UTF-8">
    <title>留言板</title>
    <link rel="stylesheet" href="../../../css/index.css">
    <script type="text/javascript">



        function submitMessageForm(flag) {
            if ('first' == flag) {
                document.getElementById('page').value = 1;
            } else if ('pre' == flag) {
                var current = Number(document.getElementById('page').value);
                if (current > 1) {
                    document.getElementById('page').value = current - 1;
                }
            } else if ('next' == flag) {
                var current = Number(document.getElementById('page').value);
                var last = Number(document.getElementById('last').value);
                if (current < last) {
                    document.getElementById('page').value = current + 1;
                }
            } else if ('last' == flag) {
                var last = Number(document.getElementById('last').value);
                document.getElementById('page').value = last < 1 ? 1 : last;
            }
            document.getElementById('messageForm').submit();
        }
    </script>
</head>

<body>
<header>
    <div class="container">

        <%
            if (null != request.getAttribute("msg")){
                String msg = (String)request.getAttribute("msg");

        %>

        <script>
            var msg = '<%=msg%>'
            $(function () {
                alert(msg);
            })
        </script>

        <%
            }
        %>

        <% if (null != request.getSession().getAttribute("user")) {%>
        <nav>
            <a href="/my/message/list.do">我的留言</a>
        </nav>
        <nav>
            <a href="/userInfo.do">我的信息</a>
        </nav>
        <%} else { %>
        <nav>
            <a href="/login.do">登录</a>
            <a href="/regPrompt.do">注册</a>
        </nav>
        <% } %>
    </div>
</header>
<section class="banner">
    <div class="container">
        <div>
            <h1>慕课网留言板</h1>
            <p>慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。在这里,你可以找到最好的互联网技术牛人,也可以通过免费的在线公开视频课程学习国内领先的互联网IT技术。 </p>
        </div>
    </div>
</section>
<section class="main">
    <div class="container">
        <c:forEach items="${messages}" var="msg">
            <div class="alt-item">
                <div class="alt-head">
                    <div class="alt-info">
                        <span>作者:<a href="">${msg.username}</a></span>
                        <span>时间:<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${msg.createTime}"/></span>
                    </div>
                </div>
                <div class="alt-content">
                    <h3>${msg.title}</h3>
                    <p>${msg.content}</p>
                </div>
                <div id="update" >
                    <a href="#"><button>修改</button></a>
                    <a href="/delete.do?id=${msg.id}"><button>删除</button></a>
                </div>
            </div>
        </c:forEach>
    </div>
</section>
<section class="page">
    <div class="container">
        <% if (null != request.getSession().getAttribute("user")) {%>
        <div id="fatie">
            <a href="/addMessagePrompt.do"><button>点我留言</button></a>
        </div>
        <%} else { %>
        <div id="fatie">
            请<a href="/login.do"><button>登录</button></a>后留言
        </div>
        <% } %>


        <div id="pagefy">
            <ul>
                <form id="messageForm" action="/my/message/list.do" method="post">
                    <input type="hidden" id="page" name="page" value="${page}">
                    <input type="hidden" id="last" name="last" value="${last}">
                    <li><a href="javascript:void(0)" onclick="submitMessageForm('first')">首页</a></li>
                    <li><a href="javascript:void(0)" onclick="submitMessageForm('pre')">上一页</a></li>
                    <li><a href="javascript:void(0)">当前第${page}页</a></li>
                    <li><a href="javascript:void(0)" onclick="submitMessageForm('next')">下一页</a></li>
                    <li><a href="javascript:void(0)" onclick="submitMessageForm('last')">尾页</a></li>
                </form>
            </ul>
        </div>
    </div>
</section>
<footer>
    copy@慕课网
</footer>
</body>
</html>



正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 慕数据7156690 2019-04-01 21:44:50
<%
    if (null != request.getAttribute("msg")){
        String msg = (String)request.getAttribute("msg");

%>

<script type="text/javascript" src="../../../js/jquery-3.3.1.js">
    var msg = '<%=msg%>'
    $(function () {
        alert(msg);
    })
</script>

<%
    }
%>

http://img1.sycdn.imooc.com//climg/5ca214ff0001cbdb04580960.jpg

js文件和src=""都加上了,不过还是无法成功alert,请老师看看。

src="../../../js/jquery-3.3.1.js"
src="js/jquery-3.3.1.js"
src="/js/jquery-3.3.1.js"
都试过,都没用。正确路径应该是怎么写?





  • 你好同学,建议你在路径前加上basePath全路径名试试,譬如src="http://localhost:8080/项目名称/js/jquery-3.3.1.js"试试,祝学习愉快~
    2019-04-02 13:40:14
好帮手慕珊 2019-04-01 19:54:58

你好!我试了你的代码是没有问题的,加上jquery引入的语句再试试。如下所示:

<script type="text/javascript" src="js/jquery-3.3.1.js"></script>

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师