一个筛选功能模块
做一个类似淘宝的筛选模块、
大体思路是这样的
因为是仿淘宝,所以跟淘宝筛选模块没什么区别
利用了隐藏表单里面有很多传递属性 提交 提交到同一个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
也没什么问题了。