用formbean传值给jsp??

fdy1984 2008-07-01 02:51:11
刚接触struts
有个问题请教大家
我的Action里面这样存了一组数在list里面
while (rslist.next()) {
SyayinInfoForm syayinInfoForm = new SyayinInfoForm();
syayinInfoForm.setEMPNO(rslist.getString("EMPNO"));
syayinInfoForm.setENAME(rslist.getString("ENAME"));
syayinInfoForm.setJOB(rslist.getString("JOB"));
syayinInfoForm.setMGR(rslist.getString("MGR"));
syayinInfoForm.setHIREDATE(rslist.getString("HIREDATE"));
syayinInfoForm.setSAL(rslist.getString("SAL"));
syayinInfoForm.setCOMM(rslist.getString("COMM"));
syayinInfoForm.setDEPTNO(rslist.getString("DEPTNO"));
list.add(syayinInfoForm);
}
用request.setAttribute("list", list);
在jsp页面用
<logic:iterate id = "element" name = "list" indexId="id">
<bean:write name="syayinInfoForm" property="EMPNO"/>
...
</logic:iterate>
能正确显示

请我用的这种方法叫什么传值?
现在我要用formbean传值,怎么做呢?
不用那个request.setAttribute("list", list)了
...全文
104 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinglinhu 2008-07-01
  • 打赏
  • 举报
回复
如:
Action.java:

DynaActionForm dynaForm = (DynaActionForm) form;
dynaForm.set("list", list);

当然在struts-config.xml里加上
<form-property name="list" type="java.util.List"></form-property>
fdy1984 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Landor2004 的回复:]
写一个和SyayinInfoForm 差不多的类,里面的属性都一样 ,但是不继承ActionForm

然后代码和上面一样

然后你的SyayinInfoForm 就不用写那么多属性了,就声明一个list

不用request.setAttribute("list", list)
而用SyayinInfoForm.setList(list);

页面 <logic:iterate id = "element" name = "list" indexId="id">
变成 <logic:iterate id = "element" property = "list" scope="request" type="com.xxx.你的…
[/Quote]
就你明白我的意思了!
谢谢~
我去试验一下
fdy1984 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gongyali2005 的回复:]
你这就是一个logic:iterate双迭代
logic:iterate id = "element" name = "list" indexId="id">
<bean:write name="syayinInfoForm" property="EMPNO"/>
<logic:iterate id="a" name="element"
输出内容......
</logic:iteate>
</logic:iterate
[/Quote]
你在说什么呢。。。
不用双迭代
一层就能显示好了。。
我那个没问题
Landor2004 2008-07-01
  • 打赏
  • 举报
回复
写一个和SyayinInfoForm 差不多的类,里面的属性都一样 ,但是不继承ActionForm

然后代码和上面一样

然后你的SyayinInfoForm 就不用写那么多属性了,就声明一个list

不用request.setAttribute("list", list)
而用SyayinInfoForm.setList(list);

页面<logic:iterate id = "element" name = "list" indexId="id">
变成<logic:iterate id = "element" property = "list" scope="request" type="com.xxx.你的类似SyayinInfoForm的类" indexId="id">
fdy1984 2008-07-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Ami121 的回复:]
request.setAttribute("formbean", syayinInfoForm)
LZ是想这样子吗
JSP取值
<logic:present name="formbean" scope="request">
${formbean.ENAME}
${formbean.EMPNO}
</logic:present>
[/Quote]
你这个不是还用了request.setAttribute这个么?
我想知道能不用这个么
gongyali2005 2008-07-01
  • 打赏
  • 举报
回复
你这就是一个logic:iterate双迭代
logic:iterate id = "element" name = "list" indexId="id">
<bean:write name="syayinInfoForm" property="EMPNO"/>
<logic:iterate id="a" name="element"
输出内容......
</logic:iteate>
</logic:iterate
Ami121 2008-07-01
  • 打赏
  • 举报
回复
request.setAttribute("formbean", syayinInfoForm)
LZ是想这样子吗
JSP取值
<logic:present name="formbean" scope="request">
${formbean.ENAME}
${formbean.EMPNO}
</logic:present>
fdy1984 2008-07-01
  • 打赏
  • 举报
回复
这是我的struts

<struts-config>
<form-beans>
<form-bean name="syayinInfoForm" type="form.SyayinInfoForm" />
</form-beans>
<global-forwards>
<forward name="error" path="/error.jsp" />
</global-forwards>
<action-mappings>
<action path="/syayinInfoSearchAction"
type="action.SyayinInfoSearchAction" name="syayinInfoForm"
scope="request">
<forward name="error" path="/error.jsp"/>
<forward name="success" path="/syayinInfoSearch.jsp"/>
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources"/>
</struts-config>
fdy1984 2008-07-01
  • 打赏
  • 举报
回复
那个name="syayinInfoForm"
我发贴的时候写错了……
jsp上
应该是name="element"
java_luan 2008-07-01
  • 打赏
  • 举报
回复
你现在的方法其实也用到bean了,<bean:write name="syayinInfoForm" property="EMPNO"/> EMPNO不就是bean中的属性吗。syayinInfoForm不就是Bean的名字吗.

81,092

社区成员

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

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