我刚刚使用过Struts2,所以我有很多问题。
关于JSP:<s:text name="account"/>
。
在动作类:
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
1 /帐户是学生的属性。当我提交给服务器时,getter和setter是否会接收并将信息发送给客户端?
2 /我想插入一个有两个属性的新学生:帐户和电子邮件。插入完成后,用户将被重定向到显示学生表的jsp。如果动作类想要从jsp获取帐户和电子邮件参数,那么动作类需要两个字段帐户,带有getter和setter的电子邮件吗?如果需要,Student类是否只包含gettter和setter方法?
实际上,它有4个字段。行动类:
public class TraineeLogin {
private String account;
private String fName;
private String lName;
private String email;
private Vector<Trainee> listTrainee; //Should I use 4 lists or 1 list to contain infomation?
public String execute(){
DBTraineesManager manager = new DBTraineesManager();
...//valid
manager.addOrUpdate(account, fName, lName, email);
return "success";
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getfName() {
return fName;
}
public void setfName(String fName) {
this.fName = fName;
}
public String getlName() {
return lName;
}
public void setlName(String lName) {
this.lName = lName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Vector<Trainee> getListTrainee() {
return listTrainee;
}
public void setListTrainee(Vector<Trainee> listTrainee) {
this.listTrainee = listTrainee;
}
}
实体类:
public class Trainee {
private String account;
private String fName;
private String lName;
private String email;
constructor();
getter(); //That same as DBTraineesManager class.
setter(); // The code is same. It wasted time.
}
3 /我应该使用两个列表:listAccount和listEmail来显示表吗?或者我应该使用listStudent?
4 /维护数据库在Strut2中查询和更新对象的最佳结构是什么?
首先,你不需要把你的getter和Setter放在这两个类中。你可以把它放在动作类或单独的Bean类中,它接受表单输入。在我看来,你应该只使用一个列表来管理所有属性。
第三部分是关于数据库设计模式的问题。最好遵循DAO设计模式
http://en.wikipedia.org/wiki/Data_access_object
http://www.tutorials4u.net/struts2-tutorial/struts2_crud_example.html