在web开发中,经常遇见页面之间的跳转和子父窗体传值等,下面,我就用这个小例子来处理子父窗体的传值
在JSP中,第一次用到一个页面留言的功能,要求提交留言成功后弹出一个小窗口提示留言正确与否,如果留言成功则出现成功页面,关闭此页面,转向网站主页;反之则停留在提交信息页面。
登陆成功后的页面:
如果登陆用户名为空,到达错误页面
在Struts-config.xml中的配置如下
<action-mappings > <action attribute="pageForm" input="/form/page.jsp" name="pageForm" path="/page" scope="request" type="com.luojs.struts.action.PageAction" > <forward name="success" path="/success.jsp"></forward> <forward name="error" path="/error.jsp"></forward> </action>
</action-mappings> |
在Action 中的代码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { PageForm pageForm = (PageForm) form;// TODO Auto-generated method stub HttpSession session = request.getSession(); String forward="error"; String name = pageForm.getName(); String pass = pageForm.getPass(); if(null!=name && null != pass){ if(!"".equals(name)&& !"".equals(pass)){ session.setAttribute("name", pageForm.getName()); forward="success"; }else{ session.setAttribute("err", "you errors (*.*)"); } }else{ session.setAttribute("err", "name==null || password ==null "); } return mapping.findForward(forward); } |
程序布局如下所示;
index.jsp代码清单:
<%@ page language="java" pageEncoding="GBK"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html> <head> <title>JSP for LoginForm form</title> <script type="text/javascript"> function doSubmit(){ var form=document.form1; form.action = "page.do"; var openWindow = window.open ('','openWindow',"top = 200,left = 300 ,height=315px,width=394px,scrollbars=no,resizable=no,toolbar=no, menubar=no"); openWindow.focus(); form.target="openWindow"; form.submit(); } </script>
</head> <body> <h2>提交表单:</h2><hr/> <form name="form1"> name: <input type="text" name="name" /> pass: <input type="password" name="pass" /> <input name="login" type="button" onClick="doSubmit()" value="login"> </form> </body> </html>
|
Login.jsp代码清单如下;
<body> <h2>提交表单:</h2><hr/> <form name="form1"> name: <input type="text" name="name" /> pass: <input type="password" name="pass" /> <input name="login" type="button" onClick="doSubmit()" value="login"> </form> </body> |
Success.jsp代码清单如下:
<%@ page language="java" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>
<title>My JSP 'index.jsp' starting page</title>
<script language="javascript"> function windowclose(){ window.opener.location.href="/pageForward/index.jsp"; window.close(); } </script>
</head>
<body> <form action="" method="post" name="form1">
<input name="welcome" type="button" onClick="windowclose()" value="点击返回首页"> <h3> welcome you ${name } (^_^)</h3> </form> </body> </html>
|
Error.jsp代码清单如下:
<%@ page language="java" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <script language="javascript"> function windowclose(){ window.opener.location.reload(); window.close(); } </script> <title>My JSP 'index.jsp' starting page</title> </head> <body> <h4> ${err}<hr> </h4><h4><a href="javascript:windowclose();">返回登陆页</a> </h4> </body> </html>
|