日期:2014-05-18  浏览次数:20824 次

SOS!!!!Struts如何从数据库中读取字段并动态生成控件!!!
高分求救!!!
采用Struts框架:举个不恰当的例子,要设计一个注册会员的程序,“学历”用下拉框实现,而相关的学历字段的内容是存储在数据库中的。请问读取万数据库中的内容如何显示在下拉框中呢?有人说是在FormBean的reset()方法中读取,有人说在Action中读取放到一个JavaBean中!我有点晕!高手能不能说的详细点,最好有代码!!!3Q!!!

------解决方案--------------------
晕了这个太简单了,还是帮你顶一下吧! 好好看看,这么简单的问题何必求人!
虽然简单但是也不是一句话能说清楚的呵呵,帮忙顶吧,祝福你
------解决方案--------------------
action:
request.setAttribute( "list ",list);

jsp page:
<select name= "list " id= "list ">
<logic:present name= "list ">
<logic:iterate id= "list " name= "list ">
<option value= " <bean:write property= "value " name= "list "/>
<bean:write property= "text " name= "list " />
</option>
</logic:iterate>
</logic:present>
</select>
------解决方案--------------------
楼上的意思是说我还要写一个初始化的Action?
action:
request.setAttribute( "list ",list);

然后再forward到页面?
<select name= "list " id= "list ">
<logic:present name= "list ">
<logic:iterate id= "list " name= "list ">
<option value= " <bean:write property= "value " name= "list "/>
<bean:write property= "text " name= "list " />
</option>
</logic:iterate>
</logic:present>
</select>


直接在FormBean的reset方法中进行如何?
------解决方案--------------------
只要能满足需要不出问题 在哪里都可以
------解决方案--------------------
点打开注册会员页面的连接时
在action中读取学历对象的列表集合然后request.setAttribute( "list ",list);
在jsp中
<html:select property= "学历 ">
<html:options collection= "list " labelProperty= "显示字段 " property= "值字段 " />
</html:select>

------解决方案--------------------
学习,向楼上的学习!!
------解决方案--------------------
楼上楼上说的对,链接时执行.do,action中得到结果集list.....
------解决方案--------------------
O啦!我知道怎么办了,楼上的楼上说的很并白了....3Q
------解决方案--------------------
哦,学习学习
------解决方案--------------------
在页面加载之前即Action中加载数据库操作。
把获得查询结果保存在Collection
Collection collection = xxx.getLean();
request.setAttribute( "collection ",collection);
在jsp中
<html:select property= "学历 ">
<html:options collection= "connection " labelProperty= "显示字段 " property= "值字段 " />
</html:select>

------解决方案--------------------
使用collection然后iterate。
假定se为你使用的Select的名字。
iterate的方法大致如下:
注意,首先必须给se的长度赋值。

se.length=Colletion.length;

// for(i=0;i < se.length;i++)
{
se.options[i].text=province_list[i];
se.options[i].value=province_list[i];
}
}
------解决方案--------------------
province_list实际上就是你的Colletion的数据。
------解决方案--------------------