struts标签生成的表单 参数保存问题

wen_qwfy 2007-11-13 09:00:02
1. 我用一个页面实现查询数据库问题,写jsp页面时,我使用了struts标签,但是form是一般的Form,并且页面提交后直接提交到本身页面:this.jsp,现在想保存提交前表单所选择select的参数,例如页面提交前多选下拉框district选择了:东城区、西城区、海淀区;....提交后这些条件仍保存,为下一次查询的默认值。(表单选项: <select name= "district " multiple size= "3 ">
, <select name= "trade "> 均是从session里获得,其他的写死了),请问大侠们在页面里该用怎样的办法实现呢?能用JS控制吗?(表单代码如下:)
2. 还有,我写的 <select name= "district " multiple size= "3 ">
, <select name= "trade "> ,能否不用struts标签<logic:iterate >也能实现呢?

<form name= "form1 " method= "post " action= "this.jsp?temp=1 ">
<select name= "district " multiple size= "3 ">
<logic:iterate id= "array1 " name= "district " type= "cn.bjsd.bjeep.persistence.entity.L_selectParams ">
<option value= " <bean:write name= "array1 " property= "district_id "/> "> <bean:write name= "array1 " property= "district_name "/> </option>
</logic:iterate>
</select>

<select name= "trade ">
<option value= "0 " selected> 全部 </option>
<logic:iterate id= "array2 " name= "trade " type= "cn.bjsd.bjeep.persistence.entity.L_selectParams ">
<option value= " <bean:write name= "array2 " property= "trade_id "/>
"> <bean:write name= "array2 " property= "trade_name "/> </logic:iterate>
</select>
<select name= "energy ">
<option value= "0 " selected> 电 </option>
<option value= "1 "> 热 </option>
<option value= "2 "> 水 </option>
<option value= "3 "> 煤 </option>
<option value= "4 "> 气 </option>
<option value= "5 "> 油 </option>
</select>
</form>


<table width= "100% " align= "center ">
<tr>
<td align= "center " valign= "top ">
<% String temp=(String)request.getParameter( "temp ");
int tp=Integer.parseInt(temp);
if(tp==1) {
........
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wen_qwfy 2007-11-20
  • 打赏
  • 举报
回复
看样子只有JSP中写JAVA代码可以实现了。多谢各位,散分了。
wen_qwfy 2007-11-13
  • 打赏
  • 举报
回复
以上代码仅实现了显示值;value=<%= i%> 不是想要的,我似乎有办法了。引用cn.bjsd.bjeep.persistence.entity.L_selectParams 类,再多定义个select的属性,尝试中。 有方法请高手指教....期待中
olivesoup 2007-11-13
  • 打赏
  • 举报
回复
大概就是这个意思,代码没测试,有错误的话你自己改改
olivesoup 2007-11-13
  • 打赏
  • 举报
回复
<logic:iterate>可以不用,在JSP中嵌入java代码写for循环,比如你在action中把option放到了session里:

<%
ArrayList list = (ArrayList)session.getAttribute("options");
if(list!=null && list.size()>0){
for(int i=0;i<list.size();i++){
OptionBean bean = (OptionBean)list.get(i);
%>
<option value=<%= i%> selected><%=bean.getName();%></option>
......

<%
}
}
%>
wen_qwfy 2007-11-13
  • 打赏
  • 举报
回复
补充:
1. 对哦, <html:select>是能办到,第二问题能否不用能否不用struts标签解决呢?
2. 楼上说的“在action中接收select提交上来的值,然后处理完业务后在把这个值set回去”方法以前那样做过,是能解决保存,因为这个页面现在没有必要用struts框架了,是直接跳转,所以想这两个问题可不可以同时解决呢?仅仅写 JSP,JavaScript,页面嵌入java代码来实现。
olivesoup 2007-11-13
  • 打赏
  • 举报
回复
你可以在action中接收select提交上来的值,然后处理完业务后在把这个值set回去
另外struts有<html:select>标签,也无需你再对option进行迭代
wrxdos 2007-11-13
  • 打赏
  • 举报
回复
用这个<html:optionsCollection/>
这个是专门用来处理各种容器的,提交之后值也还保存的
nanjg 2007-11-13
  • 打赏
  • 举报
回复
我用一个页面实现查询数据库问题,写jsp页面时,我使用了struts标签,但是form是一般的Form
为什么不用一致的struts标签?用struts标签的目的是什么?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧