jsp子父窗体之间如何传值

JSP与JavaScript配合,实现子窗口向父窗口的值传递 一个同事在项目中遇到点问题:在一个包含个人信息的静态页面中 想通过选择列表,选择人名之后,将页面中其他信息项自动添入信息。这个在JSF中通过Backing Bean是很好实现的。不过他用的是JSP,搞了有将近一个星期了也没个眉目。实在看不下去了,帮他弄了一下。代码如下:test.htmlhtml>head>title>Insert title heretitle>head>bo 阅读详情

在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">&nbsp;&nbsp; name:

           <input type="text" name="name" />

           &nbsp;&nbsp; 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">&nbsp;&nbsp; name:

           <input type="text" name="name" />

           &nbsp;&nbsp; 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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp; ${err}<hr>

       </h4><h4><a href="javascript:windowclose();">返回登陆页</a>      </h4>

    </body>

</html>

 

 

进程通信之三 父进程传参数与子进程返回值 《进程通信之三 父进程传参数与子进程返回值》 http://blog.youkuaiyun.com/morewindows/article/details/8683830 配套程序。本篇介绍一个简单而又实用的进程通信方式——父进程向子进程传入参数并获取子进程返回值。这个非常简单: 1.父进程向子进程传入参数可以由CreateProcess()函数来完成,注意子进程是通过GetCommandLine()来获取这个参数而且不是char *argv[]。 2.父进程要获取子进程的返回值可以在等待子进程结束后通过GetExitCodeProcess并传入子进程句柄来获取子进程中main或WinMain函数的返回值。 立即下载

相关推荐

JS父页面与子页面相互传值方法

主要介绍了使用JS在父页面和子页面间相互传值方法,子页面可以是window.open弹出的,也可以是iframe框架中的页面,需要的朋友可以参考下

jsp父子页面传值

1.父页面方法 $(".ck").bind('click',function(){ var url = "./tc/agency_checkbox.html?ckid="+this.id; var iWidth=380; //弹出窗口的宽度; var iHeigh

2818

JSP父页面传参数到子页面及接收示例

主要介绍了JSP父页面传参数到子页面及接收,需要的朋友可以参考下

JSP页面将弹框窗口页面的值传递给父窗口

js给上级、父级页面赋值

kiven9609的博客 828

要配置西门子G120XA变频器实现**端子启停**和**Modbus RTU(485)频率给定

如有问题,可通过STARTER软件在线诊断Modbus通讯状态。要配置西门子G120AX变频器实现。

微:13763355074 4844

Centos7配置阿里云镜像源的教程

查看你的Centos版本,版本过低会导致安装失败,验证网络是否可以连接阿里云镜像,使用阿里云是需要网络的。# wget命令下载: wget [options] [url]# curl命令下载: curl [options] [url]我上面这个图片由于电脑问题是还没有加载完的。删除原来或者之前的yun源。

lyhshs的博客 2259

jsp后一个窗口传值给前一个窗口,子父窗口之间的传值

1.新建两个页面 一个是Parent.html 父窗体 function OpenWindow() { window.open( "son.html", "newwindow", "heigh

刘超军的博客 1122

新手也能搞定!用ADS 2023从零设计一个超宽带Wilkinson功分器(附完整版图)

本文详细介绍了如何使用ADS 2023从零开始设计超宽带Wilkinson功分器,涵盖介质板参数设置、微带线计算优化、版图生成验证等关键步骤。通过实例演示和常见问题排查,帮助射频工程新手快速掌握功分器设计技巧,提升设计效率。

weixin_42692935的博客 476

jsp中iframe在子页面和父页面之间传值

基础:在父jsp上弹出,和子jsp交互: 1.在子jsp中获取父jsp中id的值var parentdb = parent.window.$("#id");2.在子jsp中获取父jsp中样式,或克隆样式:var classdb1 = parent.window.$("#divId"); var classdb2 = parent.window.$("#divId").clone(); //克隆ca

超人的博客 3631

手把手教你用C++和NI-VISA写个简易仪器上位机(附QT工程配置)

本文详细介绍了如何使用C++和QT框架结合NI-VISA驱动开发跨平台仪器控制上位机软件。从Ubuntu环境配置、VISA通信核心架构设计到QT界面与业务逻辑解耦,提供了完整的实战指南和代码示例,帮助开发者快速构建专业级仪器控制程序。

weixin_42522374的博客 273

5分钟快速搭建:使用ros1_bridge实现ROS2容器与ROS1主机的无缝通信

本文详细介绍了如何在5分钟内快速搭建基于ros1_bridge的通信方案,实现运行在Docker容器中的ROS2节点与宿主机ROS1系统的无缝数据交换。通过环境隔离、Docker容器化部署及选择性桥接配置,该方案能有效整合新旧系统,避免大规模代码重构,是机器人项目渐进式升级的实用策略。

weixin_29268637的博客 178

子窗体传值给父窗体可以通过函数传值

子窗体传值给父窗体可以通过函数传值1.htm 父窗体代码function toUrl(){window.open("2.htm","_blank");}function getvalue(a){ Form1.Text1.value=a; }2.htm 子窗体function goBack(){window.opener.get

源由心生 1565

LabVIEW面向对象编程:操作者框架入门实战

本文是LabVIEW面向对象编程中操作者框架的入门实战指南。针对传统“面条式代码”在复杂项目中的维护难题,文章通过创建操作者、定义消息与处理函数、在主VI中调用等步骤,详细演示了如何利用操作者框架构建模块化、易扩展的应用程序架构,有效管理并行任务。

f0g1h2的博客 589

window.showModalDialog()子窗体传值给父窗体

//在子窗体里使用Struts2标签//也可在子窗体里使用123 //window.showModalDialog()有严重的缓存问题需要在"url?params="+new Date().getTime()或者随机数就可以解决次问题//以解决了浏览器的兼容性问题1、建立index.jsp文件(父窗体)      返回数据         function openWin(ur

lansky54的专栏 861

html python mysql交互_干货!Python与MySQL数据库的交互实战

安装PyMySQL库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql;假如这种方式还是安装不上,就用如下链接找一个合适的安装包,进行安装,这个就不细说了。https://www.lfd.uci.edu/~gohlke/pythonlibs/使用Python连接MySQL数据库1)六个常用的连接参数参数...

weixin_31043555的博客 1560

从 AccessControl.authorizationCheck 读懂 ABAP CDS 访问控制:默认策略、取舍边界与一线项目实战

摘要: 本文深入解析ABAP CDS视图中@AccessControl.authorizationCheck注解的核心功能与工程实践。该注解通过DCL角色实现行级数据过滤,提供三类能力:控制访问生效条件、约束语义一致性及管理特权访问。文章详述四种注解取值(#CHECK、#NOT_REQUIRED、#NOT_ALLOWED、#PRIVILEGED_ONLY)的适用场景与默认行为,并结合采购订单案例演示DCL与PFCG授权的落地步骤。同时指出访问控制的边界问题(如JOIN场景可能绕过过滤),并给出视图层级决策矩

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 260

java中 子窗体和父窗体_子窗体与父窗体传值操作的js示例

//返回值给父窗体function returnParent(value) {//获取子窗体返回值var parent = window.dialogArguments; //获取父页面//parent.location.reload(); //刷新父页面if (parent != null && parent != "undefined") {window.returnValue...

weixin_29065659的博客 283

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

web页面 子父窗体之间的传值问题

web的子父窗体的关系一般情况下分为两种:一种是window.open()打开的子窗体,包括模式模式窗体 window.showModalDialog();这种子父传值的方法是:opener.document.getElementById("name");------>新打开的子窗体向父窗体的控件传值另一种是框架性的子父窗体frames:如下面的一个frames框架:

feifei666888的专栏 1320

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

windowopen传值到jsp_用window.open()打开子页面传值问题

1、通过window对象的open()方法,open()方法将会产生一个新的window窗口对象 //IE7里不支持其用法为:window.open(URL,windowName,parameters);URL: 描述要打开的窗口的URL地址,如何为空则不打开任何网页;windowName:描述被打开的窗口的民称,可以使用'_top'、'_blank'等内建名称,这里的名称跟里的target属性是...

weixin_39614877的博客 728

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

子窗体改变父窗体 链接

father.jsp中有一个打开子窗体的方法 window.open("/page/UploadSourceHouseMgr/uploadfile.jsp","newindow","scrollbars=yes,resizable=no,location=no,height=200,width=600,toolbar=no"); uploadfile.jsp控制父窗体,如改变父窗体

顾亮亮的专栏 1160

使用layer.open由子页面向父页面传递数据

父页面中建立隐藏域 <input type="hidden" class="layui-input" id="test" name="test" > 子页面中传值 var testValue = "aaa"; // 子窗体传值到父窗体 test是父页面的一个dom $("#test",window.parent.document).val(testValue ); ...

pzz799的博客 1731

jeesite使用$.jBox.open弹出一个窗体页面的实例

最近在做后台批量转班功能时jsp页面遇到需要弹出窗体功能,遇到很多坑,子窗体向父窗体传递值,父窗体向子窗体传递值等等,,我就直接贴代码了: 1.对应的js代码: if($(".chooseUser").is(":checked")){//判断选中的元素 top.$.jBox.confirm("确定该同学需要转班吗?", "系统提示", function (v...

3927的博客 6499

layer子层给父层页面元素赋值,以达到向父层页面传值的效果

父层:jsp中://页面上添加一个隐藏的输入框待用于被子层设置value,从而将子层的数据传递到此页面<input type="hidden" id="getValue" name="getValue" value="" />js代码://设置function,当执行时,弹出子窗口并传递当前窗口名称 //弹出子窗口(选择商家) function choseMerchant() {

ITmaotongxue的博客 4740

js 子窗体关闭刷新父窗体

父窗体打开子窗体:    function openPage(){    window.open ('upload.jsp?uploadName=Doug','newwindow','location=no, status=no') ;    }

好玩的事情要记录下来~ 902

JSP以Window形式打开把值从子窗体传回给父窗体 用jquery

首先在父窗体(JSP)引用 下面这个是页面跳转的JS function chooseCustomer(){ var url= "${ctx}/objection.do?method=chooseCustomer"; //转向网页的地址的Action; var name="选择客户信息"; //网页名称,可为空; ...

专注于 Java 后端架构、微服务、分布式、前端及 AI 领域的技术分享,是开发者获取硬核知识、交流实战经验的专业博客。 123

模式窗体给父窗体传值

通过模式窗体给父窗体的参数赋值!

学无先后,达者为先 425
下一篇: COS 文件上传事例
luojs_java
博客等级 码龄18年 2粉丝 6原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值