日期:2014-05-19  浏览次数:20886 次

一个筛选功能模块
做一个类似淘宝的筛选模块、

大体思路是这样的  
   

  因为是仿淘宝,所以跟淘宝筛选模块没什么区别
  利用了隐藏表单里面有很多传递属性 提交 提交到同一个action execute方法总是success result 到当前页面 如果有条件选择就显示列表
  就是做类似数据翻滚动作、

过程: 点击一个列表 毛衣, 跳到一个页面 出来 很多筛选条件 
  然后选择品牌 价格 大小等条件
  在同一个页面进行数据翻滚、

现在出了个问题,无论我怎么筛选数据 因为执行了success result到了当前页面 数据又没有了,
  不知道该如何实现了
如果各位前辈有做过类似的功能请赐教、
jsp + action 就可以 如何做同一页面数据翻滚、

现贴部分代码

javascript

JScript code

  <script type="text/javascript"> //增加筛选条件 function addCondition(id,value){ //alert("add"); document.getElementById("materialDiv").style.display = 'none';//不显示 //alert("hidden"); document.getElementById(id).setAttribute("value", value); //alert(id); document.getElementById("conditionForm").submit(); } //移除筛选条件 function removeCondition(id,value){ alert("remove"); document.getElementById(id).setAttribute("value", null); document.getElementById("conditionForm").submit(); } </script>



隐藏表单

HTML code

  <form id="conditionForm" > <input type="hidden" name="condition.pinmingIdCode" id="pinmingIdCode"> <input type="hidden" name="condition.specifation" id="specifation"> <input type="hidden" name="condition.material" id="material"> <input type="hidden" name="condition.productionPlace" id="productionPlace"> <input type="hidden" name="condition.area" id="area"> <input type="hidden" name="condition.publishTimeOrder" id="publishTimeOrder"> <input type="hidden" name="condition.publishPriceOrder" id="publishPriceOrder"> <input type="hidden" name="condition.publishCreditOrder" id="publishCreditOrder"> </form> <a href="categorySearchInit.action" onclick="addCondition('material',1);>100元</a> <a href="categorySearchInit.action" onclick="addCondition('material',2);>200元</a>



struts.xml

XML code

  <action name="categorySearchInit" class="CategorySearchInitAction" > <result>/categorysearch.jsp</result>



action里就是一些setter getter方法

execute(
return SUCCESS;





对不起各位啊,将就看吧、web开发帖子贴过来的、

------解决方案--------------------
修改result的type 具体的自己搜下看看,你默认的是redirect跳转,重新定向。或者类似这样的搜索可以把搜索条件封装起来,查询的时候根据这个条件类来查询,将这个类存在session里,每次用的时候重新为这个对象赋值或者添加新的条件
------解决方案--------------------
看来你需要一个隐藏表单 
该隐藏表单里的控件在action里要有setter和getter
控件值 value=${XXXX} 【xxxx是action里对应的属性。】

1、 隐藏表单(这个很重要 里面是一些筛选条件的控件 是用来传递和接受到值的、action写对就行)。
2、还有一些js(控制div的显示和隐藏,主要是给from表单传值和提交隐藏表单的、)
3、body 需要onload事件。(如果筛选控件里的值为空就不显示,不空就显示)用来获取div是显示还是隐藏。



其实你缺的就是隐藏表单value的属性 是从哪里取的、
所以要从action里取到
还有js问题。就是你不应该写到点击就调用,而是在body里需要加载事件 onload里来判断 如果空就显示div,不空就不显示div

也没什么问题了。