0

将 JavaBean 中的信息放入 CSV 文件的最佳方法是什么?我正在制作一个注册页面,并通过 JSP 页面设置了我的用户 JavaBean 的所有参数,每次有人注册时我都需要将此信息从 servlet 存储到 csv 中,以便在他们使用登录 JSP 页面时检索此信息。

这是我的 JavaBean

package bean.user;

public class User_profile {

 private String First_Name;
 private String Last_Name;
 private String ssn;
 private String birthday;
 private String home_phone;
 private String password;
 private String gender;
 private String email;

public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirst_Name() {
return First_Name;
}
public void setFirst_Name(String first_Name) {
First_Name = first_Name;
}
public String getLast_Name() {
return Last_Name;
}
public void setLast_Name(String last_Name) {
Last_Name = last_Name;
}


public String getSsn() {
return ssn;
}
public void setSsn(String ssn) {
this.ssn = ssn;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getHome_phone() {
return home_phone;
}
public void setHome_phone(String home_phone) {
this.home_phone = home_phone;
}


public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}


}
4

3 回答 3

1

您可以使用自省通过相应的读/写方法检索 bean 的所有属性,然后通过反射调用它们。

这是这个简单类的示例:

public class User {

  private String login;
  private String name;
  private String surname;
  private Integer age;

  //Getters and setters
}

现在,我创建一个用户并将其属性转储到一个带有逗号分隔值的字符串中:

User u = new User();
u.setAge(18);
u.setLogin("myLogin");
u.setName("myName");
u.setSurname("mySurname");

for(PropertyDescriptor pd : Introspector.getBeanInfo(User.class).getPropertyDescriptors()){
  //I don't want to get the "class" property
  if(!pd.getName().equals("class")){
    Method readMethod = pd.getReadMethod();
    System.out.print(readMethod.invoke(u)+",");
  }
}

输出 :

18,myLogin,myName,mySurname,

注意:为简单起见,我没有取消','输出末尾的 ,也没有处理属性包含 character 时的大小写','

于 2013-07-22T12:48:42.257 回答
0

如果您真的想要 CSV,请使用jsefa ,但这更适合将详细信息存储在某种类型或存储库/DB 中。

于 2013-07-22T12:54:31.407 回答
0

您可以使用这个库http://jexcelapi.sourceforge.net/或任何可以帮助您将 Java 对象转换为 CSV 格式的库。再给你一个http://kasparov.skife.org/csv/

于 2013-07-22T12:55:52.600 回答