怎样将后台数据显示到jsp页面的select中去

zzl7069119 2009-10-18 02:56:35
<td>

在Action中将值获得后转向jsp页面:


<select name="fwlx">
<option value='0'>不限--</option>
<option value='1'>地下室</option>
<option value='2'>平房</option>
<option value='3'>普通住宅</option>
<option value='4'>公寓</option>
<option value='5'>别墅</option>
</select></td>

怎样将${house.fwlx}的值在select里面显示出来??
各位帮帮忙!!
...全文
553 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzl7069119 2009-10-18
  • 打赏
  • 举报
回复
呵呵!
因为我的那个jsp页面不仅是为了显示house中的数据,还有添加、修改都要用到!

所以用楼上的jstl把它forEach出来,好像不行。。。Spring还没开始学。。

不过楼上说的Struts道是自学过。。。但不知道你说的是struts1还是struts2

小弟学的是struts2!


就是对楼上的这句话不是很明白:

"先在后台的Action中将fwlxs放入集合中,并将此集合放入request作用域中,但是
fwlxs集合中存放的是org.apache.struts.util.LabelValueBean对象。"

需要定义一个集合保存LabelValueBean吗?那LabelValueBean再放具体值(普通住宅、公寓等)吗?


<html:form>
<html:select property="fwlx">//对应houseForm对象中fwlx属性
<html:option value="0">不限--</html:option>
<html:options collection="fwlxs" property="value" labelProperty="label">//从集合中取
</html:select>
</html:form>


初始化会显示值

但当我点击下拉框的时候是不是可以把fwlxs中的值都显示出来吗?
howsun_zh 2009-10-18
  • 打赏
  • 举报
回复
EL:
先导入EL标签库:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
然后在<select>控件内部实现:

<select name="">
<option value='0'>不限--</option>
<c:forEach items="${fwlxs}" var="fwlx">//request域中必须有fwlxs集合
<option value='${fwlx.id}'>${fwlx.name}</option>//注意id,name是假设fwlx对象中带有getXXX方法的属性
<c:forEach>
</select>



如果借助web框架的标签库就容易得多了。
例如Srping MVC:
先在后台的Action中将多个fwlx对象放入fwlxs集合中,并将此集合放入request作用域中
<form:form modelAttribute="house">
<form:select path="fwlx" items="${fwlxs}" itemLabel="fwlx对象的某个属性" itemValue="fwlx对象的某个属性"/>
</form:form>
//或者这样:
<form:form modelAttribute="house">
<form:select path="fwlx">
<form:option value="" label="不限--"></form:option>
<form:options items="${fwlxs}" itemLabel="fwlx对象的某个属性" itemValue="fwlx对象的某个属性"/>
</form:select>
</form:form>


fwlx是house对象中的一个属性

Struts框架中要复杂些:
同样先在后台的Action中将fwlxs放入集合中,并将此集合放入request作用域中,但是
fwlxs集合中存放的是org.apache.struts.util.LabelValueBean对象。

<html:form>
<html:select property="fwlx">//对应houseForm对象中fwlx属性
<html:option value="0">不限--</html:option>
<html:options collection="fwlxs" property="value" labelProperty="label">//从集合中取
</html:select>
</html:form>


在修改数据的时候,例如从数据库取出某house,已知fwlx是“普通住宅”,这时select控制应该自动选上“普通住宅”,用WEB框架会自动选好,但用EL需要判断,并在“普通住宅”的option上标注selected="selected"。
zzl7069119 2009-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ckw1988 的回复:]
你的数据是怎么保存的,如果是放在fwlx对象里以属性的形式并设置了get方法,那么就用${fwlx.属性名}来显示。
[/Quote]


我的数据是首先通过方法查询到对象house中,house中包含fwlx等属性

我的jsp页面上有很多个select我想在页面显示时把house的详细信息显示出来

我暂时是这样处理的:


jsp页面:
<form action="house.action" method="post" name="mf">
<tr>
<td><strong>户型:</strong></td>
<td><select name="shi"">
<option value="0">不限--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>室<select name="ting">

<option value="0">不限--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>厅</td>
</tr>

<tr>
<td><strong>房屋类型:</strong></td>
<td><select name="fwlx">
<option value='0'>不限--</option>
<option value='1'>地下室</option>
<option value='2'>平房</option>
<option value='3'>普通住宅</option>
<option value='4'>公寓</option>
<option value='5'>别墅</option>
</select></td>
</tr>
</form>


js代码:

<script type="text/javascript">
window.onload=show(${house.shi},${house.ting},${house.lxid});

function show(v1,v2,v3){
var f=document.mf;

f.shi.value=v1;
f.ting.value=v2;
f.fwlx.value=v3;
}
</script>



但是我这样写IE上总是报脚本错误!不知又没跟好的方法!!
leilei8996 2009-10-18
  • 打赏
  • 举报
回复
Action 调用底层代码 jsp页面一个循环出来
舷Kelvin 2009-10-18
  • 打赏
  • 举报
回复
你的数据是怎么保存的,如果是放在fwlx对象里以属性的形式并设置了get方法,那么就用${fwlx.属性名}来显示。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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