在线等~~form表单提交

FG2006 2009-05-23 06:20:25
在程序中有两个实体对象是一对多的关系,假如A与B是一对多的关系,A和B都有很多属性,A中有一个set集合存放B。现在我在第一个jsp页面中输入A的属性,然后在另一个页面中再输入其对应的多个B的属性,然后提交到服务器进行处理,问题是怎么才能把多个B的属性提交到服务器呢?感觉不是大问题,请大家帮帮忙,小弟在线等。
...全文
222 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjs820218 2009-05-24
  • 打赏
  • 举报
回复
Johnson_Hong
你能把代码在详细点吗,我没试过一次提交多组数据, 学习下
sjs820218 2009-05-24
  • 打赏
  • 举报
回复
你从A表单页面到B表单页面要先过服务器吧?
在服务器中new个A对象 先存到session中
B表单....
哎~再说就啰嗦了
Johnson_Hong 2009-05-24
  • 打赏
  • 举报
回复
很明显是主表明细表的提交吗
也就是一个a有多条B的明细,好比是一个订单order,有一个集合,orderDetails

提交订单的时候
<input name="orderId" value="">
<input name="orderDate" value="">
。。。。。。
---------------------以上是主表
以下是循环输出的明细的行
---------------
<tr>
<td>
<input name="detailNum">
</td>
<td>
<input name="detailPrice">
</td>
<td>
<input name="detailMoney">
</td>
</tr>
----------------------

在服务端用String[] nums = request.getParameterValues("detailNum");就可以得到第一列的值
同理
String[] detailPrice = request.getParameterValues("detailPrice");
ieanwfg201 2009-05-24
  • 打赏
  • 举报
回复
你的意思是每次提交的时候是只提交一个实体对象B吗?还是可以提交多个实体对象B?
如果是这样的话就直接用利用name提交给form就行了吧

你刚才说 A包含B,B中包含多个属性(b就是一个属性组,可以这样理解,暂借14L),那么不同的B 中的属性应该是相同的吧,如果这样的话就直接用以上方法提交就可以吧,因为我们传给form的不正是各个b的属性的值嘛。。
gudubaigao 2009-05-24
  • 打赏
  • 举报
回复
学习了!顶!
shamingguazi 2009-05-24
  • 打赏
  • 举报
回复
表单提交应该只能提交字符串

所以说只能先在服务器端通过request.getParameter("字符串内容")获取提交的内容

如果需要B对象 可以通过对象.set()方法赋值
zhilesjf 2009-05-23
  • 打赏
  • 举报
回复
顶一个
dongjh411526 2009-05-23
  • 打赏
  • 举报
回复
学习。。。。。
cjdxhc 2009-05-23
  • 打赏
  • 举报
回复
Set bs=A.getBs();
B b1=new B();
B b2=new B();
B b3=new B();
B b4=new B();
……
bs.add(b1);
bs.add(b2);
bs.add(b3);
bs.add(b4);
……

A.setBs(bs);

request.setAttribute('A',A);
qqshs 2009-05-23
  • 打赏
  • 举报
回复
用属性组,就是在页面有多个name一样的控件,对应form中一个属性数组.
默然说话 2009-05-23
  • 打赏
  • 举报
回复
是呀,太简单了,简单到都做不来。
星火燎猿 2009-05-23
  • 打赏
  • 举报
回复
太简单了
架构修炼之道 2009-05-23
  • 打赏
  • 举报
回复
up
qiheia 2009-05-23
  • 打赏
  • 举报
回复
什么叫做多次取B页面表单?

你多提交几次表单,不就是多接收表单的数据了吗???
FG2006 2009-05-23
  • 打赏
  • 举报
回复
晕了,是我没有说清楚吗,假如说在一个jsp页面中有一个表格,第一行对应着一个B的各个属性,怎么把这一组属性提交到服务器端呢?
FG2006 2009-05-23
  • 打赏
  • 举报
回复
怎么可以实现多次取B页面表单啊?
qiheia 2009-05-23
  • 打赏
  • 举报
回复
通过form表单啊
然后在后台
Sting attribut1=request.getParameter("B的属性1");
Sting attribut2=request.getParameter("B的属性2");
Sting attribut3=request.getParameter("B的属性3");
User user=new User(attribut1,attribut2,attribut3);
然后
set.add(user);
接着保存到数据库中不就可以了吗??
vegetable_king 2009-05-23
  • 打赏
  • 举报
回复
先用session存a的值 在b页面提交后 服务器取b页面表单存储到a set 中 可以多次取B页面表单 确定完成后在提交到数据库去
xnjnmn 2009-05-23
  • 打赏
  • 举报
回复
看不明白感觉是小问题
如果实在不行就告诉你多写几个FORM的属性
然后用html 的hidden标签 把要传值放在隐藏域里传
FG2006 2009-05-23
  • 打赏
  • 举报
回复
在jsp页面中怎么用set.add(user1)啊?user的信息也是通过form提交的,到了服务器端才能整合到一个user实体啊。
加载更多回复(3)

81,092

社区成员

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

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