将JavaBean中的信息放入CSV文件的最佳方法是什么?我正在创建一个注册页面,并通过JSP页面设置了我的User 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;
}
}
答案 0 :(得分: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,
注意:为了简化这个例子,我没有在输出结尾处抑制','
,并且在属性包含字符','
时没有处理。
答案 1 :(得分:0)
如果您真的想要CSV,请使用jsefa,但这更适合将详细信息存储在某种排序或存储库/数据库中。
答案 2 :(得分:0)
您可以使用此库http://jexcelapi.sourceforge.net/或任何此类库,它们可以帮助您以CSV格式转换Java对象。还有一个给你http://kasparov.skife.org/csv/