gpt4 book ai didi

java - 填充实体后为空下拉列表

转载 作者:行者123 更新时间:2023-11-30 03:52:23 26 4
gpt4 key购买 nike

即使我在 onLoad 中填充实体,我也得到空的下拉列表
有人可以帮忙吗?

组实体是:

@Entity
@Table(name="GROUPS")
public class Group implements Serializable,Lifecycle{

/**
*
*/
private static final long serialVersionUID = 5551707547269388327L;
@Id
@Column(name="ID")
@GeneratedValue
private int id;
@Column(name="E_NAME")
private String eName;
@Column(name="A_NAME")
private String aName;

/*getters and setters*/


@Override
public boolean onDelete(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}
@Override
public void onLoad(Session session, Serializable arg1) {
// TODO Auto-generated method stub
Group adminGroup =new Group();
Group sectionAdminGroup =new Group();
Group userGroup =new Group();



adminGroup.seteName("Admin");
sectionAdminGroup.seteName("Section Admin");
userGroup.seteName("User");

adminGroup.setaName("مسشرف عام");
sectionAdminGroup.setaName("مشرف قطاع");
userGroup.setaName("مستخدم");

session.save(adminGroup);
session.save(sectionAdminGroup);
session.save(userGroup);
}
@Override
public boolean onSave(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onUpdate(Session arg0) throws CallbackException {
// TODO Auto-generated method stub
return false;
}

}

在用户实体中

@Entity
@Table(name="USERS")
public class User implements Serializable{

/**
*
*/
private static final long serialVersionUID = -5446873648771603353L;
@Id
@Column(name="ID")
@GeneratedValue
private int id;
@Column(name="USERNAME")
private String username;
@Column(name="PASSWORD")
private String password;
@Column(name="DATE_CREATED")
private String dateCreated;
@Column(name="LAST_LOGIN_DATE")
private String lastLoginDate;
@Column(name="ACTIVE")
private int active;
@Column(name="MSISDN")
private String msisdn;
@Column(name="MSGS_CREDIT")
private int msgsCredit;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name="Group_id",referencedColumnName="ID")
private Group group;
/*getters and setters*/

在 Spring Controller 中

@SuppressWarnings("unchecked")
@RequestMapping(method=RequestMethod.GET)
public String listUsers(Map<String, Object> map) {

map.put("user", new User());
map.put("usersList", usersService.getAllObjects(User.class));
map.put("groupsList", usersService.getAllObjects(Group.class));
return "index";
}

在 JSP 中

 <tr>
<td>groups</td>
<td><form:select path="group">
<form:options items="${groupsList}"/>
</form:select></td>
</tr>
<tr>

注意:我已将usersService.getAllObjects(Group.class)制作为数组列表并打印了其大小,但我得到了 0 ,因此实体不会加载初始化后的数据
我怎样才能加载它?

最佳答案

Hibernate 的 OnLoad 函数似乎有一个错误
所以你必须在 Controller 中像这样获取你的值

@SuppressWarnings("unchecked")
@RequestMapping(method=RequestMethod.GET)
public String listUsers(Map<String, Object> map) {
List <Group> groupsList=(ArrayList<Group>)usersService.getAllObjects(Group.class);
map.put("user", new User());
map.put("usersList", usersService.getAllObjects(User.class));
map.put("groupsList", usersService.getAllObjects(Group.class));

if (groupsList.size()!=0){
for (Group group:groupsList){
}
}else{
fillData(fillGroups());
map.put("groupsList", usersService.getAllObjects(Group.class));
}
return "index";
}

方法填充数据将为

private ArrayList fillGroups(){

List <Group> groupsList=new ArrayList();

Group adminGroup =new Group();
Group sectionAdminGroup =new Group();
Group userGroup =new Group();

adminGroup.setId(1);
sectionAdminGroup.setId(2);
userGroup.setId(3);


adminGroup.seteName("Admin");
sectionAdminGroup.seteName("Section Admin");
userGroup.seteName("User");

adminGroup.setaName("مشرف عام");
sectionAdminGroup.setaName("مشرف قطاع");
userGroup.setaName("مستخدم");


groupsList.add(adminGroup);
groupsList.add(sectionAdminGroup);
groupsList.add(userGroup);


System.out.println("he call fillGroup....");
return (ArrayList) groupsList;

}

@ModelAttribute("Group")
private void fillData(ArrayList<Group> list){

for (Group group:list){
usersService.addObject(group);
}
}

在你的 Jsp 中

                  <td>groups</td>
<td><form:select path="group.id">
<form:options items="${groupsList}" itemLabel="eName" itemValue="id" />
</form:select></td>
</tr>

关于java - 填充实体后为空下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24103497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com