JSP 小服务程序 JSTL
JSP servlet JSTL
当我将属性 'saved' 从 servlet 发送到 jsp 时,如果它等于 true,我会显示警报消息,否则我想在第二次刷新时将其分配给 false。
Servlet:
saved = true;
request.setAttribute("saved", saved);
response.sendRedirect("temp/pr_home.jsp");
JSP:
<c:choose>
<c:when test="${saved==true}">
<c:out value="${saved}"> </c:out>
<div class="alert-box success" role="alert" >
Project Review has been saved! <a href="pr_home.jsp" > click here to see details </a>
</div>
<br />
</c:when>
<c:otherwise>
<div class="alert-box failure" role="alert">
This is a danger alert—check it out!
</div>
</c:otherwise>
</c:choose>
查看:
标志变量 'saved' 始终为真!!因此,每次刷新页面时也会出现警告消息:(
对不起我的英语。
感谢您的帮助。
问题在于您如何重定向到 .jsp 。
因为 .sendRedirect(String path) 方法不传输请求和响应对象。
当您想要将控制转移到应用程序外部的 URL 时,通常会使用此技术。
所以我建议这个方法调用一个jsp页面:
getServletContext.getRequestDispatcher("temp/pr_home.jsp").forward(request, response);
而对于 .setAttribute(String name, Object o) 方法最好使用包装器 class,例如:
request.setAttribute("saved", new Boolean(saved));
当我将属性 'saved' 从 servlet 发送到 jsp 时,如果它等于 true,我会显示警报消息,否则我想在第二次刷新时将其分配给 false。
Servlet:
saved = true;
request.setAttribute("saved", saved);
response.sendRedirect("temp/pr_home.jsp");
JSP:
<c:choose>
<c:when test="${saved==true}">
<c:out value="${saved}"> </c:out>
<div class="alert-box success" role="alert" >
Project Review has been saved! <a href="pr_home.jsp" > click here to see details </a>
</div>
<br />
</c:when>
<c:otherwise>
<div class="alert-box failure" role="alert">
This is a danger alert—check it out!
</div>
</c:otherwise>
</c:choose>
查看:
标志变量 'saved' 始终为真!!因此,每次刷新页面时也会出现警告消息:(
对不起我的英语。
感谢您的帮助。
问题在于您如何重定向到 .jsp 。
因为 .sendRedirect(String path) 方法不传输请求和响应对象。
当您想要将控制转移到应用程序外部的 URL 时,通常会使用此技术。
所以我建议这个方法调用一个jsp页面:
getServletContext.getRequestDispatcher("temp/pr_home.jsp").forward(request, response);
而对于 .setAttribute(String name, Object o) 方法最好使用包装器 class,例如:
request.setAttribute("saved", new Boolean(saved));