您的位置:首页 > Web前端 > JavaScript

jsp子父窗体之间如何传值

2008-12-12 10:19 357 查看
在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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: