初学者求解,一对多中的实体信息如果通过struts2页面中录入

Role.java

private String roleId;

private String roleName;

private String roleTel;

@OneToMany(fetch = FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name = "role_id")
private Set<User> userSet=new HashSet<User>();

get...set.....

User.java

private String userId;

private String userName;

@ManyToOne
@JoinColumn(name = "role_id")
private Role role;

get ... set ...

action.java

private Role role;

public String saveRole(Role role){
   .....
}
get ...set...


现在我在页面中想录入role及user信息

roleName:<input type="text" name="role.roleName"/>
roleTel:<input type="text" name="role.roleTel"/>
问题所在,我不清楚如何在页面中录入Set信息,我是这么录入的,可是没有录入进去

usreName:<input type="text" name="role.userSet[0].userName"/>
usreName:<input type="text" name="role.userSet[1].userName"/>
usreName:<input type="text" name="role.userSet[2].userName"/>

请问正确的该如何录入SET里的值呢,谢谢了










  • 问题补充 :可以对您的提问补充细节,以得到更准确的答案
    表情图标

    字体颜色: 标准深红红色橙色棕色黄色绿色橄榄青色蓝色深蓝靛蓝紫色灰色白色黑色  字 体大小: 标准1 (xx-small)2 (x-small)3 (small)4 (medium)5 (large)6 (x-large)7 (xx-large)  对齐: 标准居左居中居右
    提示:选择您需要装饰的文字, 按上列按钮即可添加上相应的标签
    Role.java private String roleId; private String roleName; private String roleTel; @OneToMany(fetch = FetchType.LAZY,cascade=CascadeType.ALL) @JoinColumn(name = "role_id") private Set&lt;User&gt; userSet=new HashSet&lt;User&gt;(); get...set..... User.java private String userId; private String userName; @ManyToOne @JoinColumn(name = "role_id") private Role role; get ... set ... action.java private Role role; public String saveRole(Role role){ ..... } get ...set... 现在我在页面中想录入role及user信息 roleName:&lt;input type="text" name="role.roleName"/&gt; roleTel:&lt;input type="text" name="role.roleTel"/&gt; 问题所在,我不清楚如何在页面中录入Set信息,我是这么录入的,可是没有录入进去 usreName:&lt;input type="text" name="role.userSet[0].userName"/&gt; usreName:&lt;input type="text" name="role.userSet[1].userName"/&gt; usreName:&lt;input type="text" name="role.userSet[2].userName"/&gt; 请问正确的该如何录入SET里的值呢,谢谢了
    <script type="text/javascript"> var editor = new Control.TextArea.Editor(&quot;editor_body&quot;, &quot;bbcode&quot;, false); </script> 上传新的文件:
    • 提示信息:
    • 上传文件请压缩后再上传,允许zip, rar, gz, tar, bz2, jar, war格式的压缩文件
    • 上传图片推荐使用png, jpg, gif等类型
    • 文件大小不能超过10MB
  • 提高悬赏 :提高悬赏分,以提高问题的关注度
    0 您目前的积分:0
  • 无满意答案 :没有满意的回答,还可直接结束提问,关闭问题

<script type="text/javascript"> new Validation(&quot;problem_body_form&quot;); editor.setValue(&quot;&quot;); new Validation(&quot;problem_score_form&quot;); new Validation(&quot;problem_comment_form&quot;); </script>

回答

比如说在BookAction中有Set<Book> books(自己添加getter/setter)
添加BookAction-conversion.properties:
KeyProperty_books=number//books指定books这个set使用book的number属性作为set的索引
CreateIfNull_books=true

页面:
<s:iterator value="new int[3]" status="status">
  <tr><s:set name="index" value="#status.index+1"/>
      <s:set name="books" value="'books('+#index+')'"/>

      <td><s:textfield name="%#books+'.title'}"/></td><!--书名-->
      <td><s:textfield name="%#books+'.price'}"/></td><!--价格-->
      <td><s:textfield name="%#books+'.amount'}"/></td><!--数量-->
  </tr>
</s:iterator>


这块知识比较多,但是不难,一下子讲不完,大概就是你得配置一个struts的转换器,好让struts在提交表单的时候怎样将哪些表单元素组织 成目标对象,否则它是不晓得如何工作的。另外,由于是集合,前台一般用到struts的<s:iterator>迭代
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值