struts1.1中new个formbean

fanyuanwaifdl 2009-08-11 09:20:09

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.dist.web.action;

import java.sql.Connection;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.dist.service.A1030Business;
import com.dist.service.B1010Business;
import com.dist.service.D1010Business;
import com.dist.system.db.conn.DBUtils;
import com.dist.system.tools.Tools;
import com.dist.web.form.A1050ActionForm;
import com.dist.web.form.B1020ActionForm;

/**
* MyEclipse Struts
* Creation date: 08-10-2009
*
* XDoclet definition:
* @struts.action validate="true"
* @struts.action-forward name="all" path="/index.jsp"
*/
public class AllAction extends Action {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Connection conn=null;
B1020ActionForm b1020ActionForm = new B1020ActionForm();
A1050ActionForm a1050ActionForm = new A1050ActionForm();
System.out.println("cuolemei");
try{
conn=DBUtils.getConnection();

B1010Business bu=new B1010Business(conn,request);
List rows=bu.getthings();
if(rows.size()>0)
{
System.out.println(rows);
b1020ActionForm.setROWS(rows);
b1020ActionForm.getROWS();
}
D1010Business bu1=new D1010Business(conn,request);
List row=bu1.getMsg();
System.out.println(row.size());
if(row.size()>0)
{
a1050ActionForm.setROWS(row);
}
}catch (Exception e) {
e.printStackTrace();
}
finally{
DBUtils.close(conn);
}
return mapping.findForward("all");
}
}

a1050ActionForm.setROWS(row);
在页面中用struts标签得不到值?
<logic:present property="ROWS" name="a1050ActionForm">
<logic:iterate id="rows" property="ROWS" name="a1050ActionForm"><bean:write name="rows" property="d0102" />
</logic:iterate> 取不到值
...全文
394 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyfun888 2009-08-28
  • 打赏
  • 举报
回复
formbean不是POJO,想填啥就填啥呗,想偷懒可以用23楼的方法
yangxuebao123 2009-08-28
  • 打赏
  • 举报
回复
感觉此帖没回的必要,1分啊。。。浪费我打得字
Hemingway718 2009-08-13
  • 打赏
  • 举报
回复
学习学习
zhang_yu_QIN 2009-08-13
  • 打赏
  • 举报
回复
可以做的到阿。

网站首页有不同的数据表数据。.

有很多个模块,.你查询出一个List集合之后.你就request.setarrbite("传到页面的对象名",list);

页面用struts标签取值.

<logic:iterate id="rows" name="传到页面的对象名">
<bean:write name="rows" property="d0102" />
</logic:iterate>
qjlsharp 2009-08-13
  • 打赏
  • 举报
回复
楼主可能觉得自己的意思比较对,但是完全不对,你NEW的一个FORM,就是内存中一个新的FORM了,根本就不是你原来自己定义的那个FORM,在内存中指向的是还是旧的FORM,这样当然得不到值了。
why_java 2009-08-13
  • 打赏
  • 举报
回复
多个action对应一个FormBean,一个FormBean对应多个表单呢
一个action对应一个form,你这样大概你设计得不好
yangxuebao123 2009-08-13
  • 打赏
  • 举报
回复
你说要取出多个formbean的值

这个,你那几张表有关联吗,有关联的话,就可以在bean中创建那个类的对象然后new一下,生成get和set方法。

不管你有几张表就创建几个对象,然后在action中去填充里面的值,

最后在把formbean放到request作用域中,在页面通过 ${对象名.属性名.属性名}去获得值


有时后一个formbean里面可以new 很多的form表单对应的module。那是第二种做法。

在一个formbean中创建多个 form对象

比如说


public class ZxxxForm extends ActionForm {
private ArrayList formFiles = new ArrayList();
private OaZxxx zxxx=new OaZxxx();
private OaZxxxfj zxxxfj=new OaZxxxfj();

public OaZxxx getZxxx() {
return zxxx;
}
public void setZxxx(OaZxxx zxxx) {
this.zxxx = zxxx;
}
public OaZxxxfj getZxxxfj() {
return zxxxfj;
}
public void setZxxxfj(OaZxxxfj zxxxfj) {
this.zxxxfj = zxxxfj;
}




public void setTestFile(String iIndex, FormFile formFile) {

formFiles.add(formFile);
}

public FormFile getTestFile(String iIndex) {
return (FormFile) formFiles.get(Integer.parseInt(iIndex));
}

public ArrayList getTestFiles() {
return this.formFiles;
}



}

这样 在存值的时后先ZxxxForm zxx= new ZxxxForm();
zxx.getZxxx(zxxx);(zxxx为你查询的数据)

在页面上取同过。${zxxx.属性}


以上我也没测试过了,不过以前用过。lz去试下。



凡员外 2009-08-13
  • 打赏
  • 举报
回复
自己顶
kala197 2009-08-13
  • 打赏
  • 举报
回复
ActionForm form
Test te=(form)Test 要转换的
xhleexinji 2009-08-13
  • 打赏
  • 举报
回复
new的form没有放到作用域里页面
jianchencool 2009-08-12
  • 打赏
  • 举报
回复
FormBean是由容器创建的,new没用!
yao2007 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhouzongjiu 的回复:]
你new的form没有放到作用域里页面当然取不到了。
[/Quote]
3楼正解。
fanyuanwaifdl 2009-08-12
  • 打赏
  • 举报
回复

没人给个方法
qgz0910 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 bea_java 的回复:]
需要写。Java code//将bean 放入request以后 在页面才可以取到。request.setAttribut("beanname",bean);
[/Quote]

对头
bea_java 2009-08-12
  • 打赏
  • 举报
回复
需要写。

//将bean 放入request以后 在页面才可以取到。
request.setAttribut("beanname",bean);
veardn 2009-08-12
  • 打赏
  • 举报
回复
request.setAttribute("name1",b1020ActionForm)
request.setAttribute("name2",a1050ActionForm)
加上这两句

不过formbean没这么用的吧,最好是自己写2个新的javabean传到前台去
pmlxp 2009-08-11
  • 打赏
  • 举报
回复
学习
minglois 2009-08-11
  • 打赏
  • 举报
回复
关注中。。。。。。
meander 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fanyuanwaifdl 的回复:]
我的是网站首页提交一个action 然后读取多张表中的数据 
给个网站首页一般从数据库中读取数据的方法  谢谢
[/Quote]

一个action对应一个FormBean,一个FormBean对应多个表单呢。
fanyuanwaifdl 2009-08-11
  • 打赏
  • 举报
回复
我的所有操作都是一个action对应一个formbean

而现在需要从一个action中调用多个业务操作方法来取到数据(多张表中取得)
所以就new了各个formbean 把每个formbean放在各个的arraylist中
通过这想在页面取得到各个表的相对应的数据

有什么好的办法? 谢谢赐教
加载更多回复(10)
Myeclipse开发struts+hibernate+spring新手入门---环境配置----项目开发示例 Myeclipse开发struts+hibernate+spring小记 开发前准备工作: 1、下载eclipse3.1版本 下载地址: 2、下载Myeclipse插件 下载地址: 3、根据需要下载所需要的数据库驱动。 部分下载地址: 4、下载的eclipse3.1进行解压缩。安装Myeclipse,分为手工安装和自动安装两种安装方法。 具体安装方法如下: 手工安装: 自动安装: 5、安装完成后。启动Myeclipse。 准备开发工作: 步骤: 1、新建项目: New>projects后进入下图 本文主要介绍开发Web Project项目,因此需要选择Web Project,下一步,进入下图: Project Name:为需要建立的项目名称。填写好项目名称后,Finish。新建项目完成。本文在项目命名为test.。 项目建立完成之后,在Myeclipse视图,Package Explorer显示如下: test:为项目名称。 Src:为源文件所放路径。 WebRoot:为Web root folder 2、加载Struts 在所建立项目test上右键后,提示如下页面: 在弹出的菜单,根据图例提示,选择Myeclipse后在弹出的二级菜单选择Add Struts Capabilities…后提示如下图所示: 在弹出的对话框,设置如下: Struts config path:默认,一般不需要改变。 Struts specification:选择Struts版本,在此项目,选择Struts 1.2版本。 Base Package for new classes:设置为空。 取消Install Struts TLDs选项。 其他默认: Finish.后在Package Explorer的Lib包如下: 到此,加载Struts完成。在此需要关注Struts-config.xml文件。 3、加载hibernate: 同加载struts方式类似,选择Myeclipse后在弹出的二级菜单选择Add Hibernate Capabilities…后提示如下图所示: 可以根据提示,选择Hibernate Specification:本项目选择Hibernate3,其他默认,Next> 默认后直接下一步。在此可以去掉Configuration File Name的内容。Next> 后去掉下一级页面的Create SessionFactory class选项。然后Finish,Finish完成后,在Lib目录下会提示相关的jar包。 4、加载spring in action in action 同加载struts方式类似,选择Myeclipse后在弹出的二级菜单选择Add spring in action in action Capabilities…后提示如下图所示: 选择所需要的spring in action in action包,然后默认下一步,直到完成。 到此,Struts+hibernate+spring配置完成。 附加:在项目名称的右键后进入Properties然后进入Java Build Path后查看加载的jar包。 具体项目的开发详细文档请见下一篇文章《struts+hibernate+spring项目开发示例》 Myeclipse平台struts+hibernate+spring项目开发示例 接:Myeclipse开发struts+hibernate+spring新手入门---环境配置 如果您按照上篇文章配置成功,可以进行开发简单的J2EE项目。 开发前准备: 1、新建项目包:如下图: Dao:数据层;service:逻辑层;web:web展现层。 2、建立好三层架构,部署好包名。建立一个jsp文件,取名为:login.jsp 代码如下: <% @ taglib uri = " http://struts.apache.org/tags-bean " prefix = " bean " %> <% @ taglib uri = " http://struts.apache.org/tags-html " prefix = " html " %> <% @ taglib uri = " http://struts.apache.org/tags-logic " prefix = " logic " %> <% @ taglib uri = " http://struts.apache.org/tags-tiles " prefix = " tiles " %> < HTML > < HEAD > < TITLE > test < TITLE > < HEAD > < BODY > < html:form action = " /login " method = " post " > 用户名: < html:text property = " username " size = " 15 " /> < br > 密 码: < html:password property = " password " size = " 15 " />< br > < html:submit property = " submit1 " style = " FONT-WEIGHT:bold;COLOR:red " > 登 录 < html:submit > < html:form > < BODY > < HTML > 3、配置struts-config.xml文件;建立action、formbean; 改配置可以自动生成,使用eclipse进行自动生成,在建立时,如下图,可直接生成对应的action类和formbean类。 1 2 3 4 5 6 <form-beans> 7 <form-bean name="LoginForm" type="com.test.web.form.LoginForm" /> 8 9 form-beans> 10 11 12 13 14 15 16 17 18 19 20 21 22 对应生成的formbean如下代码所示: 1 import javax.servlet.http.HttpServletRequest; 2 import org.apache.struts.action.ActionErrors; 3 import org.apache.struts.action.ActionForm; 4 import org.apache.struts.action.ActionMapping; 5 6 /** 7 * MyEclipse Struts 8 * Creation date: 11-10-2005 9 * 10 * XDoclet definition: 11 * @struts.form name="LoginForm" 12 */ 13 public class LoginForm extends ActionForm { 14 15 /** password property */ 16 private String password; 17 18 /** username property */ 19 private String username; 20 21 22 /** 23 * Method validate 24 * @param mapping

81,092

社区成员

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

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