`

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>

 

分享到:
评论

相关推荐

    当当网jsp+selvlet项目

    商品信息存储在Oracle数据库中,通过Servlet查询并返回到JSP页面进行展示。可能使用了SQL查询语句,例如SELECT,来获取商品列表,同时可能实现了分页功能,提高用户体验。 4. **购物车模块**: 购物车功能涉及到...

    JSP核心技术——JSP引擎内幕(2010).pdf

    - **重新编译触发条件**:JSP引擎通常会在检测到JSP源文件发生变化时触发重新编译。此外,开发者也可以通过特定参数(如`jsp_precompile`)强制重新编译页面。 #### 二、多线程与持久性 JSP引擎继承了Java Servlet...

    JSP实现带查询条件的通用分页组件

    同时,当有查询条件时,这些条件需要在分页中得以保留,以便用户在不同页之间切换时仍能保持查询状态。 **2. 使用方式** 使用这个通用分页组件分为两步: **步骤一:在JSP页面引入分页组件** 在需要展示分页的地方...

    jsp 应用获取表单元素

    JSP可以通过request.getRequestDispatcher()进行请求转发,保留表单数据。\n\n3. 处理多值参数:\n 当表单元素为复选框或多选下拉框时,可能有多个值。request.getParameterValues()方法可以返回一个字符串数组,...

    jsp实现页面跳转的方法

    如果在相同的业务逻辑下,我们使用`jsp:forward`代替`jsp:include`,那么在`calling1.jsp`中,一旦租金满足条件,就会通过`jsp:forward`动作直接跳转到`destination1.jsp`。此时,`calling1.jsp`的后续代码将不会被...

    JSP课程设计-乐购

    对于已经处理过的订单,也应该保留历史记录,以便于管理人员进行查询。 5.管理员的管理:主管理员可以通过该模块添加、删除和修改管理员资料。 6.管理员资料管理:管理员可以通过该模块查询、修改和删除自己的相关...

    一个简单的JSP设计报告

    JSTL提供了一系列标签,帮助开发者处理常见的任务,如循环、条件判断、XML操作等,避免过多地使用脚本元素。 **总结** "一个简单的JSP设计报告"可能包含了上述JSP技术的基本应用,例如使用JSP元素构建一个简单的...

    关联关系按条件查询细

    当有查询条件时,只保留符合条件的关联记录。 2. **内连接**(INNER JOIN):只返回两个表中存在匹配的记录,即只有当两个表的对应字段相等时,才会出现在结果集中。 3. **子查询**:子查询可以嵌套在主查询中,...

    jsp编写的用户管理系统

    4. SQL语句的编写:包括SELECT、INSERT、UPDATE、DELETE等操作,以及条件查询、联接查询等高级技巧。 5. JavaBeans规范:理解其生命周期,以及如何使用它来封装和传递数据。 6. MyEclipse的使用:包括项目创建、部署...

    jsp做的购物车

    8. **动态渲染**:在JSP页面上,可以使用条件语句(如`&lt;c:if&gt;`)和迭代标签(如`&lt;c:forEach&gt;`)来根据购物车内容动态生成商品列表。 9. **AJAX异步更新**:为了提供更好的用户体验,购物车可以使用AJAX技术实现异步...

    用jsp写的购物车程序

    例如,EL用于在HTML中嵌入JSP变量,JSTL标签库可以简化循环、条件判断等复杂逻辑。 6. `login.txt`: 这个文件可能是用来记录用户登录信息的,比如用户名和密码。在实际的购物车程序中,用户身份验证是很重要的,...

    HTML手册与JSP语法

    JSTL是一系列标准标签,比如`&lt;c:if&gt;`、`&lt;c:forEach&gt;`,它们简化了JSP中的循环和条件语句。 JSP和HTML的结合使得开发者可以在静态内容中嵌入动态元素,提高了网站的交互性和灵活性。在实际开发中,通常会配合Servlet...

    js+jsp标签实现页面级联菜单

    这可能涉及到数据库查询,返回一个表示菜单层次结构的数据对象,例如JSON。 2. 在JSP页面中,使用`c:forEach`遍历菜单数据,为每个菜单项生成HTML元素。如果菜单有子项,可以通过`c:if`判断并在适当的位置插入子...

    JSP源码JSP搜索引擎的研究与实现(源代码+论文+答辩PPT)

    - **动态内容生成:** 根据用户的查询条件动态生成搜索结果页面,提高了用户体验。 - **与后端集成:** JSP可以方便地与Java后端进行集成,实现数据的动态获取和处理。 ##### 2. 爬虫技术: - **网页抓取:** 使用...

    jsp基本使用方法

    JSP 文件在第一次访问时会被转化为Servlet 文件并编译运行,这样做的好处在于可以利用Servlet 强大的功能,同时保留JSP 在页面展示上的优势。 #### JSP 中 EL 标签的简单使用 EL(Expression Language)表达式语言...

    jsp购物车SqlServer版

    3. **SQL查询**:与SQL Server交互,需要使用JDBC(Java Database Connectivity)来执行SQL语句,比如插入、更新、查询购物车中的商品信息。 4. **会话管理**:为了跟踪用户购物车的状态,JSP通常会使用HTTP会话。...

    jsp+servlet+bootstrap日记本系统

    3. 日记查看与删除:用户可以浏览自己的所有日记,点击日记条目查看详情,也可以选择性地删除不需保留的日记。 4. 搜索与筛选:系统支持按日期、标题等条件搜索日记,方便用户查找特定内容。 5. 数据持久化:所有...

    jsp 异常错误详解

    - 和`302 Found`类似,但必须保留原来的请求方法。 ### 4xx 客户端错误类 **400 Bad Request** - 请求无效或不可识别。 - 客户端发送了一个有语法错误的请求。 **401 Unauthorized** - 客户端尝试未经授权访问受...

    JSP页面跳转的五种方法

    与`forward()`不同的是,这种方式会改变客户端浏览器的URL地址栏显示的内容,并且不保留原始请求对象的信息,这意味着无法在目标页面访问到原始请求的数据。 **代码示例**: ```java public void doPost...

    简单学生成绩管理系统(mysql+jsp).pdf

    - 当用户提交查询后,可以在JSP页面中通过`request.getParameter("query")`获取查询条件,然后修改SQL查询语句,例如: ```java String query = request.getParameter("query"); String sql = "SELECT * FROM ...

Global site tag (gtag.js) - Google Analytics