JavaScript中利用Swing组件控制数据入库及参数传递

作者:代码拾荒

时间:2026-10-26

浏览:324

本文探讨如何在JavaScript中通过Swing组件实现数据入库前的用户确认机制,解决直接执行数据库插入的问题。同时介绍了通过模拟GET请求,利用window.location.href传递多个页面参数至另一页面的具体实现方法,包含关键代码逻辑与参数拼接细节。

文章目录

Swing组件控制数据入库的实现问题

最终目标是希望在JavaScript环境中使用Swing组件来构建一个包含“确定”和“取消”按钮的交互界面,以此控制功能是否执行。然而在实际运行中发现,每次操作都会直接触发数据库插入逻辑,无法实现预期的控制效果。为了解决这一问题,需要参考后续提供的详细代码进行分析。


相关代码实现如下:

 
<% 
boolean foo=false;
if (((theqingjiadays<3)&&(thetiqiandays>=1))||((theqingjiadays<10)
&&(theqingjiadays>=3)&&(thetiqiandays>=3))||((theqingjiadays>=10)&&(thetiqiandays>=7))){
foo=true;
}else{
//未按规定提前请假,是否继续
%> 
<script>
var select=confirm('未按规定提前请假,是否继续?');
if(select==true){
foo=true;
} 
if(select==false){
foo=false;
window.location.href="qingjiaquxiao.jsp?id=<%=qj.getId()%>";
} 
</script>

期望将该脚本替换为Swing窗口,通过用户点击确定或取消来决定是否执行后续操作。由于当前机制总是优先执行<% %>内的代码,导致数据直接插入数据库,失去了控制环节。


涉及数据库插入操作的代码如下:

 
<% 
} 
} 
//插入数据库
if(foo==true){
try
{ 

插入语句


相关代码片段如下:

 
qingjiaDAO.addQingJiaInfo(qj);
qingjiaDAO.addQingJiaMingxi(qjmingxi);
qingjiaDAO.updateQingJiaInfo(qj);
} 
catch(InfrastructureException ie){
out.println(ie.toString());
} 
finally{
HibernateUtil.commitTransaction();
HibernateUtil.closeSession();
} 
} 

Swing控制与URL参数传递方案

%>需要一段Java中的Swing代码来控制该模块,具体应如何实现?此外,还希望了解能否通过脚本将当前页面的参数通过window.location.href传递到另一个页面?


模拟GET提交与参数传递实现

随后在网上查阅资料,得知若要实现上述参数传递,可以模拟GET提交方式,在目标页面接收链接后解析获取参数。


按照此思路尝试后并未成功,主要难点在于不知如何具体操作。但最终通过自我排查解决了该问题,原因在于传递的参数数量过多,因此对部分细节进行了调整,具体修改如下:


相关代码实现如下:

 
window.location.href="qingjiaapplysave.jsp?qingjiatypeid=<
%=request.getParameter("qingjiatypeid")%>
& 
figure=<
%=request.getParameter("figure")%>
& 
qingjiastartdate1=<
%=request.getParameter("qingjiastartdate1")%>
& 
qingjiaenddate1=<
%=request.getParameter("qingjiaenddate1")%>
& 
reason=<
%=request.getParameter("reason")%>
& 
startdaterange1=<
%=request.getParameter("startdaterange1")%>
& 
enddaterange1=<
%=request.getParameter("enddaterange1")%>";

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章