关于网页参数的传递问题
正在用struts2+hibernate做个东西,我想知道如何实现以下的功能:一个网页index.jsp中点击一个按钮弹出一个窗口A,窗口A查询数据库显示些数据并能修改,...
正在用struts2+hibernate做个东西,我想知道如何实现以下的功能:
一个网页index.jsp中点击一个按钮弹出一个窗口A,窗口A查询数据库显示些数据并能修改,然后点击窗口A中的一个按钮,弹出窗口B,窗口B能输入些数据,点击窗口B的某个按钮能把输入的数据传送回窗口A并自动关闭。窗口A接收到窗口B的数据,在通过写数据修改后,点击某个按钮能把数据写进数据库并自动关闭。此时最开始的index.jsp能同步把刚刚窗口A写入数据库的显示出来。(以上所说的窗口都是同个页面里面的,不是浏览器建个新窗口)
请高手指点,把原理和和所用到的框架之类写明白!
说窗口都是同个页面里面里的意思是,像webqq里面的聊天窗口一样啊,可以移动的,里面不管打开了多少个聊天窗口,但浏览器看起来其实只开了一个窗口啊,我不希望页面刷新…… 展开
一个网页index.jsp中点击一个按钮弹出一个窗口A,窗口A查询数据库显示些数据并能修改,然后点击窗口A中的一个按钮,弹出窗口B,窗口B能输入些数据,点击窗口B的某个按钮能把输入的数据传送回窗口A并自动关闭。窗口A接收到窗口B的数据,在通过写数据修改后,点击某个按钮能把数据写进数据库并自动关闭。此时最开始的index.jsp能同步把刚刚窗口A写入数据库的显示出来。(以上所说的窗口都是同个页面里面的,不是浏览器建个新窗口)
请高手指点,把原理和和所用到的框架之类写明白!
说窗口都是同个页面里面里的意思是,像webqq里面的聊天窗口一样啊,可以移动的,里面不管打开了多少个聊天窗口,但浏览器看起来其实只开了一个窗口啊,我不希望页面刷新…… 展开
2个回答
展开全部
(以上所说的窗口都是同个页面里面的,不是浏览器建个新窗口)
这句不太明白什么意思?
我想你的问题应该可以通过javascript来处理。
========================
看看这个html页面的效果,不知道是不是你想要的!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body,td,th {
font-family: 宋体;
color: #000000;
font-size: 9pt;
}
#newDiv11 {
filter:alpha(opacity=50); /* IE */
-moz-opacity:0.5; /* Moz + FF */
opacity: 0.5; /* 支持CSS3的浏览器(FF 1.5也支持)*/
}
#login_id {
}
#top_id {
}
#exit_id {
cursor:hand;
}
-->
</style>
</head>
<body>
<script language="javascript">
var login_id = "login_id";
function $(id) {
return document.getElementById(id);
}
// 弹出的DIV
function login() {
var newMask = mask();
document.body.appendChild(newMask);
var login = document.createElement("div");
login.id = login_id;
login.style.position = "absolute"; //绝对定位,相对body的位置
login.style.zIndex = "9998"; //层次
login.style.width = "400"; //宽
login.style.height = "400"; //高
login.style.top = (window.screen.availHeight - window.screenTop - parseInt(login.style.height) - 100) / 2 + "px"; //上边位置
login.style.left = (window.screen.width - parseInt(login.style.width)) / 2 + "px"; //左边位置
login.style.border = "1px solid #A2CBF3"; // 边框1像素 实线边框
login.style.background = "url(topTit_bg.png) white repeat-x"; //背景图片 背景色 x轴重复
login.style.textAlign = "center"; //文字居中
login.style.padding = "0px"; // 间隔5像素
var top = document.createElement("div");
top.style.border = "0px solid rgb(255,0,0)";
top.style.textAlign = "right"; // 文本右对齐
top.style.padding = "5px";
var exit = document.createElement("b"); //创建元素
exit.innerHTML = "×"; //添加元素的文件内容
exit.style.cursor = "hand"; // 光标在元素内的样式
// 元素再被点击时的动作
exit.onclick = function() {
document.body.removeChild(login);
document.body.removeChild(newMask);
return false;
}
top.appendChild(exit); //把x不回到top中
login.appendChild(top); //把top添加到login中
content(login, newMask); //给login添加内容
document.body.appendChild(login); //把login添加到boyd中
var flag;
top.onmousedown = function() {
var e = window.event;
flag = true;
top.setCapture();
px = e.x - login.offsetLeft;
py = e.y - login.offsetTop;
}
top.onmousemove = function() {
var e = window.event;
if(flag) {
login.style.left = e.x - px;
login.style.top = e.y - py;
}
}
top.onmouseup = function() {
if(flag) {
flag = false;
top.releaseCapture()
}
}
}
//添加内容
function content(login, newMask) {
var content = document.createElement("div");
var form = document.createElement("form");
var nametext = document.createElement("input");
var btn = document.createElement("input");
nametext.type="text";
btn.type="button";
btn.value="提交";
btn.onclick = function() {
var cnt = $("content");
cnt.innerHTML = nametext.value;
document.body.removeChild(login);
document.body.removeChild(newMask);
return false;
}
form.appendChild(nametext);
form.appendChild(btn);
content.appendChild(form);
login.appendChild(content);
}
// 添加掩饰DIV, 与浏览器窗口一样大,它是一个图片一样的东西(透明的),使页面不能点击
function mask() {
var newMask = document.createElement("div");
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
var w = window.screen.availWidth - 21;
var h = document.body.clientHeight;
h = h > window.screen.availHeight - window.screenTop ? h : window.screen.availHeight - window.screenTop;
newMask.style.width = w + "px";
newMask.style.height = h + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#FFFFFF";
newMask.style.filter = "alpha(opacity=70)";
newMask.style.opacity = "1";
return newMask;
}
</script>
<a href="#" onclick="login();">点击这里</a>
<div id='content'>aaa</div>
<form action="#" method="post">
<input type="text" name="name" id="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
这句不太明白什么意思?
我想你的问题应该可以通过javascript来处理。
========================
看看这个html页面的效果,不知道是不是你想要的!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body,td,th {
font-family: 宋体;
color: #000000;
font-size: 9pt;
}
#newDiv11 {
filter:alpha(opacity=50); /* IE */
-moz-opacity:0.5; /* Moz + FF */
opacity: 0.5; /* 支持CSS3的浏览器(FF 1.5也支持)*/
}
#login_id {
}
#top_id {
}
#exit_id {
cursor:hand;
}
-->
</style>
</head>
<body>
<script language="javascript">
var login_id = "login_id";
function $(id) {
return document.getElementById(id);
}
// 弹出的DIV
function login() {
var newMask = mask();
document.body.appendChild(newMask);
var login = document.createElement("div");
login.id = login_id;
login.style.position = "absolute"; //绝对定位,相对body的位置
login.style.zIndex = "9998"; //层次
login.style.width = "400"; //宽
login.style.height = "400"; //高
login.style.top = (window.screen.availHeight - window.screenTop - parseInt(login.style.height) - 100) / 2 + "px"; //上边位置
login.style.left = (window.screen.width - parseInt(login.style.width)) / 2 + "px"; //左边位置
login.style.border = "1px solid #A2CBF3"; // 边框1像素 实线边框
login.style.background = "url(topTit_bg.png) white repeat-x"; //背景图片 背景色 x轴重复
login.style.textAlign = "center"; //文字居中
login.style.padding = "0px"; // 间隔5像素
var top = document.createElement("div");
top.style.border = "0px solid rgb(255,0,0)";
top.style.textAlign = "right"; // 文本右对齐
top.style.padding = "5px";
var exit = document.createElement("b"); //创建元素
exit.innerHTML = "×"; //添加元素的文件内容
exit.style.cursor = "hand"; // 光标在元素内的样式
// 元素再被点击时的动作
exit.onclick = function() {
document.body.removeChild(login);
document.body.removeChild(newMask);
return false;
}
top.appendChild(exit); //把x不回到top中
login.appendChild(top); //把top添加到login中
content(login, newMask); //给login添加内容
document.body.appendChild(login); //把login添加到boyd中
var flag;
top.onmousedown = function() {
var e = window.event;
flag = true;
top.setCapture();
px = e.x - login.offsetLeft;
py = e.y - login.offsetTop;
}
top.onmousemove = function() {
var e = window.event;
if(flag) {
login.style.left = e.x - px;
login.style.top = e.y - py;
}
}
top.onmouseup = function() {
if(flag) {
flag = false;
top.releaseCapture()
}
}
}
//添加内容
function content(login, newMask) {
var content = document.createElement("div");
var form = document.createElement("form");
var nametext = document.createElement("input");
var btn = document.createElement("input");
nametext.type="text";
btn.type="button";
btn.value="提交";
btn.onclick = function() {
var cnt = $("content");
cnt.innerHTML = nametext.value;
document.body.removeChild(login);
document.body.removeChild(newMask);
return false;
}
form.appendChild(nametext);
form.appendChild(btn);
content.appendChild(form);
login.appendChild(content);
}
// 添加掩饰DIV, 与浏览器窗口一样大,它是一个图片一样的东西(透明的),使页面不能点击
function mask() {
var newMask = document.createElement("div");
newMask.style.position = "absolute";
newMask.style.zIndex = "1";
var w = window.screen.availWidth - 21;
var h = document.body.clientHeight;
h = h > window.screen.availHeight - window.screenTop ? h : window.screen.availHeight - window.screenTop;
newMask.style.width = w + "px";
newMask.style.height = h + "px";
newMask.style.top = "0px";
newMask.style.left = "0px";
newMask.style.background = "#FFFFFF";
newMask.style.filter = "alpha(opacity=70)";
newMask.style.opacity = "1";
return newMask;
}
</script>
<a href="#" onclick="login();">点击这里</a>
<div id='content'>aaa</div>
<form action="#" method="post">
<input type="text" name="name" id="name"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
展开全部
(以上所说的窗口都是同个页面里面的,不是浏览器建个新窗口)
就是嘛,这句什么意思,类似的功能都是弹出浏览器窗口的,只不过是通过设置相关属性看起来跟平常的不一样而已比如
<SCRIPT LANGUAGE="javascript">
window.open (new.html, newwindow, height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no)
</SCRIPT>
然后这个窗口操作完数据库关闭父页面进行刷新,想不看到刷新效果就是用ajax来实现了 显示数据更新而看不到浏览器刷新效果。
就是嘛,这句什么意思,类似的功能都是弹出浏览器窗口的,只不过是通过设置相关属性看起来跟平常的不一样而已比如
<SCRIPT LANGUAGE="javascript">
window.open (new.html, newwindow, height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no)
</SCRIPT>
然后这个窗口操作完数据库关闭父页面进行刷新,想不看到刷新效果就是用ajax来实现了 显示数据更新而看不到浏览器刷新效果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询