jsp查询条件的保留

本文适合java web开发初学者参考。

 

统计系统或者通常的web项目中经常会有这样的需求:
用户通过下拉框(select)选择需要的条件,或者在文本框(input)中填写关键字,然后提交查询,得到符合条件的数据,到这里没有什么稀奇的。但是数据量大的情况下,一般要分为多页来显示,用户继续查看后续的数据,这时有个问题:用户查看后续的页面时,一抬头,哇塞,我的查询条件怎么不见了?


相信这是一个常见的场景,下面就在使用struts的情况下,简单分析下该如何实现这个小功能。

 

查询过程:
1.jsp页面中的查询条件一般在form表单中,查询首先由jsp页面发起,将查询条件保存到actionform中,然后到达action中。
2.action调用其他的接口,查询数据库中符合查询条件的数据。
3.action将查询得到的数据封装到dto中,转发到指定的页面。
4.显示结果数据的jsp页面从request或者session中取得结果数据,显示之。

 

其实这里我们只需要关心查询条件的传递:
查询条件->actionform->action->jsp

 

查询条件通过actionform传递到action,我们知道actionform可以有两种生命周期:request或者session,可以根据自己的需要指定。用户提交查询到显示结果数据这个过程,就是一个request的过程,其中保存着actionform,我们的查询条件就在这个actionform中,取出来就可以了。


示例代码:

<%
 String lotteryIDParam = null;
 
 OrderForm orderForm = (OrderForm)request.getAttribute("orderStatForm");//从request中取出actionform
 if(orderForm != null){
  lotteryIDParam = orderForm.getLotteryId();//从actionform中取出你的查询条件
 }
%>


<SELECT id=lotteryId name=lotteryId>
<%
 if(lotteryIDParam != null){
       String lotteryName = LotteryInfoUtil.getLotteryName(lotteryIDParam);//显示在下拉列表中,这句因需求而异
       if(lotteryName.equals("请选择彩种")){
%>
 <OPTION value="0">请选择彩种</OPTION>
 <%}else{%>
 <OPTION value="<%=lotteryIDParam%>" selected><%=lotteryName%></OPTION>
 <OPTION value="0">请选择彩种</OPTION>
 <%}%>
        
<%}else{%>
 <OPTION value="0" selected>请选择彩种</OPTION>
<%}%>
       
 <OPTION value=38>排三直选</OPTION>
 <OPTION value=10>排三组选</OPTION>
 <OPTION value=22>七星彩</OPTION>
        <OPTION value=59>大乐透</OPTION>
        <OPTION value=19>足彩胜负</OPTION>
        <OPTION value=39>任选9场</OPTION>
</SELECT>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值