JSP编程问题 我想实现一个效果,一个页面分成2个部分,上面的页面负责查询,然后查询到的记录点击“添加”按钮以后,添加到下面的页面上,然后把所有的记录添加好了以后,一次性提交给另一个页面处理。举个例子,数据库有几百本书地记录,我通过查询,一本本地查询出我要的书,然后添加到下面的页面上显示出来,确认无误后就一次提交处理,这样怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个应当交由ajax来完成,因为你要保证页面不能被刷新才能完成你想要的效果 可以用iframe方式实现局部刷新,然后用js将添加的数据放到另一部分里去,因为上面的一部分需要查询出数据另外,不少的js框架可以实现这样的效果,比如extjs + ajax 首先我要确定你所说的两个部分该怎么理解.是两个iframe吗? <%@ page contentType="text/html;charset=UTF-8"%><%@ include file="/commons/taglibs.jsp"%><%@taglib uri="/WEB-INF/tag_support_vvise.tld" prefix="vvise"%><html><head> <title></title> <link href="${ctx}/styles/main.css" rel="stylesheet" type="text/css" /> <script language="JavaScript" src="${ctx}/scripts/prototype.js"></script> <script language="JavaScript" src="${ctx}/scripts/waiting.js"></script> <script language="JavaScript" src="${ctx}/scripts/check_all.js"></script> <script language="JavaScript" src="${ctx}/scripts/set_select.js"></script> <script language="JavaScript" src="${ctx}/scripts/util.js"></script> <script language="javascript" src="${ctx}/widgets/WdatePicker/WdatePicker.js" ></script> <script language="javaScript"> function doQuery() { waiting(); $("listFrame").style.height = "0px"; document.forms[0].target = "listFrame"; document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&flag=1"; document.forms[0].submit(); } function load(){ $("listFrame").style.height = "0px"; document.forms[0].target = "listFrame"; document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&flag=1"; document.forms[0].submit(); } function isNowYear(){ if($('nowDate').value <= '${nowYear}'){ $('editButtion').disabled = "true"; }else{ $('editButtion').disabled = "false"; } } function doDele(){ var ecForm = $('listFrame').contentWindow.document.all.ec; if(check_obj(ecForm.plan_ids) <= 0) { alert("请选择要删除的记录!"); return; } if (!confirm('确定要删除选择的记录吗?', "")) return; var plan_id_ = ''; if (ecForm.plan_ids.length) { for (i=0;i < ecForm.plan_ids.length;i++) { if (ecForm.plan_ids[i].checked) { plan_id_ += ecForm.plan_ids[i].value; plan_id_ += ","; } } } else { plan_id_ = ecForm.plan_ids.value+","; } waiting(); location = '${ctx}/bs.equipmentDetectPlanT.do?method=deleteAll&plan_id_='+plan_id_; } function doAdd(){ waiting(); location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit'; } function doEdit(){ var childForm = $('listFrame').contentWindow; var ecForm = childForm.document.all.ec; if(check_obj(ecForm.plan_ids) != 1){ alert("请选择一条记录进行修改!"); return; } var plan_id = get_checkbox_value(ecForm.plan_ids); waiting(); location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit&planId=' + plan_id; } </script></head><body class="mainBody" onload="load();"><form action="${ctx }/bs.equipmentDetectPlanT.do" method="post"> <div class="mainDiv"> <fieldset class="queryFieldSet"> <legend><b>查询条件</b></legend> <table width="100%"> <tr> <td align="right" width="17%"> 计划名称: </td> <td align="left" width="17%"> <input type="text" name="plan_Name" id="plan_Name" style="ime-mode:Disabled" value="" class="input_line" /> </td> <td align="right" width="17%"> 检定机构: </td> <td align="left" width="17%"> <input type="text" name="detect_organ" id="detect_organ" style="ime-mode:Disabled" value="" class="input_line" /> </td> <td align="right" width="17%"> 所属地区: </td> <td align="left" width="17%"> <vvise:select name="areaCode" id="areaCode" default="false" sqlparam="${areaCode}" sqlname="getCodeAreas" /> </td> </tr> <tr> <td align="right" width="17%"> 年份: </td> <td align="left" width="17%"> <input type="text" size="17" id="planYear" name="planYear" readonly value="<fmt:formatDate pattern="yyyy" value="${nowYear}" />" onFocus="WdatePicker({dateFmt:'yyyy',isShowToday:false})" class="Wdate" class="Wdate" /> </td> <td align="right" width="17%"> </td> <td align="left" width="17%"> </td> </tr> </table> </fieldset> </div> <div class="buttonRightDiv"> <input type="button" class="button" value="查 询" onclick="doQuery()" /> <input type="button" class="button" value="新 增" onclick="doAdd()" /> <input type="button" class="button" value="修 改" onclick="doEdit()" /> <input type="button" class="button" value="删 除" onclick="doDele()" /> </div> <div class="mainDiv"> <iframe name="listFrame" id="listFrame" frameBorder="0" scrolling="no" class="listFrame"></iframe> </div></form></body></html>这是我们做的项目的一个页面<iframe name="listFrame" id="listFrame" frameBorder="0" scrolling="no" class="listFrame"></iframe>就是这个调用了另外一个页面也就是下面这个页面当然其中有strusts的相关跳转 跳转到了 list页面如下:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ include file="/commons/taglibs.jsp"%><%@ include file="/widgets/ecside/ecside.jsp"%><html> <head> <title></title> <script language="JavaScript" src="${ctx}/scripts/check_all.js"></script> <script type="text/javascript" src="${ctx}/scripts/FusionCharts.js"></script> <script type="text/javascript"> function init() { parent.$("listFrame").style.height = document.body.scrollHeight + "px"; parent.waiting_stop(); } function edit(areaCode,dateStr) { var toLeft = (screen.width-500)/2-2; var toTop = (screen.height-350)/2; var temp = window.showModalDialog("${ctx}/bs.equipmentDetectPlanT.do?method=editTo&areaCode="+areaCode+"&dateStr="+encodeURIComponent(dateStr)+"&nowDate=${nowDate}","","dialogLeft:" + toLeft + ";dialogTop:"+toTop+";dialogheight: 350px;dialogwidth: 500px;location:no;status:no;help:no;"); document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&nowDate=${nowDate}&areaCode=${areaCode}&nowYear=${nowYear}"; document.forms[0].submit(); } function edits(plan_id) { window.parent.location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit&planId='+plan_id; } </script> </head> <body onload="init()"> <ec:table items="BsEquipmentDetectPlanTs" var="bsEquipmentDetectPlanT" title="" width="100%" retrieveRowsCallback="process" filterRowsCallback="process" useAjax="false" maxRowsExported="1000" pageSizeList="15,30,50,all" rowsDisplayed="15" sortable="false" filterable="false" resizeColWidth="true" classic="true" minHeight="200" toolbarContent="extend status|pagejump|navigation|pagesize|refresh" action="${ctx}/bs.equipmentDetectPlanT.do" > <ec:row> <ec:column property="plan_ids" sortable="false" title="全选<input type='checkbox' name='checkAll' onclick=\"check_all(this.form,this.form.plan_ids)\">" style="text-align:center" ><input type='checkbox' value='${bsEquipmentDetectPlanT.plan_id}' name='plan_ids' id="plan_ids" onclick="check_item(this.form,this.form.plan_ids)" /></ec:column> <ec:column property="plan_code" title="计划编号" ><a href="#" onclick="edits('${bsEquipmentDetectPlanT.plan_id}')">${bsEquipmentDetectPlanT.plan_code }</a></ec:column> <ec:column property="plan_name" title="计划名称"></ec:column> <ec:column property="organ_name" title="检定机构"></ec:column> <ec:column property="area_cade" title="所属地区"></ec:column> <ec:column property="plan_year" title="年份"><fmt:formatDate value="${bsEquipmentDetectPlanT.planYear}" pattern="yyyy" /> </ec:column> </ec:row> </ec:table> </body></html> 关于数据库驱动的问题 为什么用session得到的字符串显示的时候是乱码?在线 求助:游戏算法的实现 grails vs spring 把表格中的字段设置为 超级链接!! 的问题?? 请教各位一个beanUtil中的copyProperties()的问题 打印 關於!ReadLine()方法!較難的! 高手,帮个忙吧!哪里可以下载到:mm.mysql-2.0.4-bin.jar???谢谢了! POI的XSSFWorkbook这个对象可不可以导入XLSB的文档啊 如何在下拉列表选项前添加一个复选框 rsync远程同步静态文件后,页面如何能自动更新,避免重启服务器???
<%@ include file="/commons/taglibs.jsp"%>
<%@taglib uri="/WEB-INF/tag_support_vvise.tld" prefix="vvise"%>
<html>
<head>
<title></title>
<link href="${ctx}/styles/main.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="${ctx}/scripts/prototype.js"></script>
<script language="JavaScript" src="${ctx}/scripts/waiting.js"></script>
<script language="JavaScript" src="${ctx}/scripts/check_all.js"></script>
<script language="JavaScript" src="${ctx}/scripts/set_select.js"></script>
<script language="JavaScript" src="${ctx}/scripts/util.js"></script>
<script language="javascript" src="${ctx}/widgets/WdatePicker/WdatePicker.js" ></script>
<script language="javaScript">
function doQuery()
{
waiting();
$("listFrame").style.height = "0px";
document.forms[0].target = "listFrame";
document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&flag=1";
document.forms[0].submit();
}
function load(){
$("listFrame").style.height = "0px";
document.forms[0].target = "listFrame";
document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&flag=1";
document.forms[0].submit();
}
function isNowYear(){
if($('nowDate').value <= '${nowYear}'){
$('editButtion').disabled = "true";
}else{
$('editButtion').disabled = "false";
}
}
function doDele(){
var ecForm = $('listFrame').contentWindow.document.all.ec;
if(check_obj(ecForm.plan_ids) <= 0) {
alert("请选择要删除的记录!");
return;
}
if (!confirm('确定要删除选择的记录吗?', ""))
return;
var plan_id_ = '';
if (ecForm.plan_ids.length)
{
for (i=0;i < ecForm.plan_ids.length;i++)
{
if (ecForm.plan_ids[i].checked)
{
plan_id_ += ecForm.plan_ids[i].value;
plan_id_ += ",";
}
}
}
else
{
plan_id_ = ecForm.plan_ids.value+",";
}
waiting();
location = '${ctx}/bs.equipmentDetectPlanT.do?method=deleteAll&plan_id_='+plan_id_;
}
function doAdd(){
waiting();
location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit';
}
function doEdit(){
var childForm = $('listFrame').contentWindow;
var ecForm = childForm.document.all.ec;
if(check_obj(ecForm.plan_ids) != 1){
alert("请选择一条记录进行修改!");
return;
}
var plan_id = get_checkbox_value(ecForm.plan_ids);
waiting();
location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit&planId=' + plan_id;
}
</script>
</head>
<body class="mainBody" onload="load();">
<form action="${ctx }/bs.equipmentDetectPlanT.do" method="post">
<div class="mainDiv">
<fieldset class="queryFieldSet">
<legend><b>查询条件</b></legend>
<table width="100%">
<tr>
<td align="right" width="17%">
计划名称:
</td>
<td align="left" width="17%">
<input type="text" name="plan_Name" id="plan_Name" style="ime-mode:Disabled" value="" class="input_line" />
</td>
<td align="right" width="17%">
检定机构:
</td>
<td align="left" width="17%">
<input type="text" name="detect_organ" id="detect_organ" style="ime-mode:Disabled" value="" class="input_line" />
</td>
<td align="right" width="17%">
所属地区:
</td>
<td align="left" width="17%">
<vvise:select name="areaCode" id="areaCode" default="false" sqlparam="${areaCode}" sqlname="getCodeAreas" />
</td>
</tr>
<tr>
<td align="right" width="17%">
年份:
</td>
<td align="left" width="17%">
<input type="text" size="17" id="planYear" name="planYear" readonly value="<fmt:formatDate pattern="yyyy" value="${nowYear}" />"
onFocus="WdatePicker({dateFmt:'yyyy',isShowToday:false})" class="Wdate" class="Wdate" />
</td>
<td align="right" width="17%">
</td>
<td align="left" width="17%">
</td>
</tr>
</table>
</fieldset>
</div>
<div class="buttonRightDiv">
<input type="button" class="button" value="查 询" onclick="doQuery()" />
<input type="button" class="button" value="新 增" onclick="doAdd()" />
<input type="button" class="button" value="修 改" onclick="doEdit()" />
<input type="button" class="button" value="删 除" onclick="doDele()" />
</div>
<div class="mainDiv">
<iframe name="listFrame" id="listFrame" frameBorder="0" scrolling="no" class="listFrame"></iframe>
</div>
</form>
</body>
</html>这是我们做的项目的一个页面<iframe name="listFrame" id="listFrame" frameBorder="0" scrolling="no" class="listFrame"></iframe>就是这个调用了另外一个页面也就是下面这个页面当然其中有strusts的相关跳转 跳转到了 list页面如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ include file="/commons/taglibs.jsp"%>
<%@ include file="/widgets/ecside/ecside.jsp"%>
<html>
<head>
<title></title> <script language="JavaScript" src="${ctx}/scripts/check_all.js"></script>
<script type="text/javascript" src="${ctx}/scripts/FusionCharts.js"></script>
<script type="text/javascript">
function init()
{
parent.$("listFrame").style.height = document.body.scrollHeight + "px";
parent.waiting_stop();
}
function edit(areaCode,dateStr)
{
var toLeft = (screen.width-500)/2-2;
var toTop = (screen.height-350)/2;
var temp = window.showModalDialog("${ctx}/bs.equipmentDetectPlanT.do?method=editTo&areaCode="+areaCode+"&dateStr="+encodeURIComponent(dateStr)+"&nowDate=${nowDate}","","dialogLeft:" + toLeft + ";dialogTop:"+toTop+";dialogheight: 350px;dialogwidth: 500px;location:no;status:no;help:no;");
document.forms[0].action = "${ctx }/bs.equipmentDetectPlanT.do?method=list&nowDate=${nowDate}&areaCode=${areaCode}&nowYear=${nowYear}";
document.forms[0].submit();
}
function edits(plan_id)
{
window.parent.location = '${ctx}/bs.equipmentDetectPlanT.do?method=edit&planId='+plan_id;
}
</script>
</head>
<body onload="init()">
<ec:table items="BsEquipmentDetectPlanTs" var="bsEquipmentDetectPlanT" title="" width="100%"
retrieveRowsCallback="process" filterRowsCallback="process" useAjax="false"
maxRowsExported="1000" pageSizeList="15,30,50,all"
rowsDisplayed="15" sortable="false" filterable="false"
resizeColWidth="true" classic="true" minHeight="200"
toolbarContent="extend status|pagejump|navigation|pagesize|refresh"
action="${ctx}/bs.equipmentDetectPlanT.do" >
<ec:row>
<ec:column property="plan_ids" sortable="false" title="全选<input type='checkbox' name='checkAll' onclick=\"check_all(this.form,this.form.plan_ids)\">" style="text-align:center" ><input type='checkbox' value='${bsEquipmentDetectPlanT.plan_id}' name='plan_ids' id="plan_ids" onclick="check_item(this.form,this.form.plan_ids)" /></ec:column>
<ec:column property="plan_code" title="计划编号" ><a href="#" onclick="edits('${bsEquipmentDetectPlanT.plan_id}')">${bsEquipmentDetectPlanT.plan_code }</a></ec:column>
<ec:column property="plan_name" title="计划名称"></ec:column>
<ec:column property="organ_name" title="检定机构"></ec:column>
<ec:column property="area_cade" title="所属地区"></ec:column>
<ec:column property="plan_year" title="年份"><fmt:formatDate value="${bsEquipmentDetectPlanT.planYear}" pattern="yyyy" /> </ec:column>
</ec:row>
</ec:table>
</body></html>