重定向时,浏览器URL中会显示成功标题消息

时间:2012-07-05 07:13:54

标签: spring spring-mvc spring-security

我在我的应用程序中使用spring mvc,当我创建用户时我必须在标题中显示成功消息, 所以我使用了这段代码

modelAndView.setViewName("redirect:/mainPage");
        modelAndView.addObject("successMessage", "user created successfully");

        return modelAndView;

但我的问题是我在浏览器网址中收到此消息。假如我使用如下所示,成功消息显示在主页的标题中,但主页中的记录消失。

modelAndView.setViewName("mainPage");
            modelAndView.addObject("successMessage", "user created successfully");

            return modelAndView;

这是我的mainpage.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<jsp:include page="../templates/header.jsp"></jsp:include>

<script type="text/javascript" src="js/bootstrap-dropdown.js"></script>
<script type="text/javascript">
// Implement checkbox-like buttons
$(".toggle-buttons > .g-button").click(function() {
    $(this).siblings(".g-button").removeClass("checked");
    $(this).addClass("checked");
});
</script>

<style>
.errorblock {
    color: #060505;
    background-color: #ffEEEE;
    border: 3px solid #ff0000;
    padding: 8px;
    margin: 16px;
}
.successblock {
    color: #060505;
    background-color: #9EF2DF;
    border: 3px solid #06B98F;
    padding: 8px;
    margin: 16px;
}
</style>
<c:if test="${not empty errorMessage}">
    <div class="errorblock">${errorMessage}</div>
</c:if>

<c:if test="${not empty successMessage}">
    <div class="successblock" >${successMessage}</div>
</c:if>

<!-- full width -->
<div class="widget" >
    <div class="header"><span><img src="images/icon/color_18/audio_knob.png"  alt="dashboard"/>Mobee Robot</span>
    </div>
    <div class="content" >

        <div id="UITab">
            <ul class="tabs" >

                <li><a href="#tab1">Mobee User(s)</a></li>




            </ul>
            <div class="tab_container" >

                <sec:authorize access="hasRole('ROLE_USER')">
                <div id="tab1" class="tab_content">
                    <div class="load_page">
                        <form>
                            <div class="tableName inTab">
                                <h3><img src="images/icon/color_18/user.png"  alt="users"/>Mobee Users</h3>
                                <table id="userData" class="display data_table2">
                                    <thead>
                                        <tr>
                                           <th><div class="th_wrapp">Id</div></th>
                                            <th><div class="th_wrapp">User Name</div></th>
                                            <th><div class="th_wrapp">Email Id</div></th>
                                            <th><div class="th_wrapp">Created By</div></th>
                                            <th><div class="th_wrapp">Created On</div></th>
                                            <th><div class="th_wrapp">Status</div></th>
                                            <th><div class="th_wrapp">Manage</div></th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <c:forEach items="${mobeeUsers}" var="mobeeRobotUser">
                                            <tr class="odd gradeX">
                                                <td>${mobeeRobotUser.id}</td>
                                                <td><a href="<%=request.getContextPath() %>/useredit?id=${mobeeRobotUser.id}">${mobeeRobotUser.userName}</a> </td>
                                                <td>${mobeeRobotUser.emailId}</td>
                                                <td>${mobeeRobotUser.createdBy}</td>
                                                <td><fmt:formatDate value="${mobeeRobotUser.createdOn}" pattern="dd-MMM-yyyy"/></td>
                                                <td>${mobeeRobotUser.status}</td>

                                                <td>
                                                    <span class="tip">
                                                        <a id="1" href="<%=request.getContextPath() %>/userdelete?id=${mobeeRobotUser.id}" class="Delete" name="${mobeeRobotUser.userName}" title="Delete">
                                                            <img src="images/icon/color_18/close.png"/>
                                                        </a>

                                                    </span>
                                                </td>
                                            </tr>
                                        </c:forEach>
                                    </tbody>
                                </table>
                            </div>
                        </form>
                    </div>
                </div><!-- End tab1 -->
                </sec:authorize>
</div><!-- End tab Container -->
        </div><!-- End UITab -->
        <!-- clear fix -->
        <div class="clear"></div>
    </div><!-- End Content -->
</div><!-- End full width -->

<jsp:include page="../templates/footer.jsp"></jsp:include>

请帮帮我

提前致谢

1 个答案:

答案 0 :(得分:0)

执行重定向后,不会保留该值。所以你没有在mainPage控制器中获得successMessage。

请参阅here类似问题。

您可以按照建议将值放入会话中。 或者在下一个控制器中从请求中获取它,然后将其设置为modelandview。

祝你好运。