【发布时间】:2011-11-07 19:04:32
【问题描述】:
我有一个表单,它在提交时会将其字段中的数据存储到数据库中。 struts-config 中的 forward 操作映射回关于将数据插入数据库的成功/失败的同一页面。一旦成功完成,我想提醒用户,所以我在表单的操作类的方法中设置了一个会话属性(即成功/失败)。然后,一旦再次访问 jsp 页面,我就会获取并打印出这个会话属性。
到目前为止,我已经在 Action 类中完成了这项工作:
public static void setJavaScriptNotification(HttpServletRequest request, String notificationText) {
HttpSession session = request.getSession(true);
session.setAttribute("notification_javascript", notificationText);
}
并且在包含我的表单的 jsp 文件中:
<% String notificationJavaScript = (String) request.getSession().getAttribute("notification_javascript");
pageContext.setAttribute("notification_javascript", notificationJavaScript);
request.getSession().removeAttribute("notification_javascript"); %>
<html>
<head>
<logic:present name="notification_javascript">
<script type="text/javascript" language="JavaScript">
function showAlerts() {
alert("<bean:write name="notification_javascript"/>");
}
</script>
</logic:present>
</head>
<body onload="doPreOnload(); showAlerts();">
当我在 jsp 中打印出会话属性时,我找不到 notification_javascript 属性。我是 HTTP 新手,所以我可能在那里做错了。
【问题讨论】:
-
虽然与您的问题无关,但您应该避免使用 scriptlet。
-
感谢反馈@Alfredo O 将切换到 jstl
标签: java http jsp servlets struts-1