我是Java World的新手。如何避免因同一变量的MVC模式中的变量声明混淆?
例如,
在Servlet(控制器)中:
String firstName = request.getParameter("firstname");
String lastName = request.getParameter("lastname");
在Bean(模型)中:
private String firstname;
private String lastname;
public Person(String FirstName, String LastName) {
setFirstName(FirstName);
setLastName(LastName);
}
//Getter and Setter Methods
public String getFirstName() {
return firstname;
}
public void setFirstName(String FirstName) {
this.firstname = FirstName;
}
public String getLastName() {
return lastname;
}
public void setLastName(String LastName) {
this.lastname = LastName;
}
在DAO(数据访问层)中:
public void savePerson(String firstName, String lastName) {
// Method statements
}
在JSP(View)中:
${person.firstname} ${person.lastname}
我的问题/困惑?
在不同的方法中声明相同变量的正确方法是什么 模块(控制器,模型,视图DAO)?我该如何避免混淆?
在声明不同的变量时,是否需要遵循任何约定 模块?
Servlet和DAO中的变量应该相同吗?应该是Models / Bean中的变量 与Servlet和DAO不同?
答案 0 :(得分:2)
在你的servlet中,这些是方法变量。那很好。
在您的模型中,这可以作为模型的属性。那也很好。
在视图中,您实际上是指Model的属性,而不是声明任何变量。
在DAO中,你实际上是,坚持你的模型。
所以,在Servlet / Controller中,这将是更像这样的东西,
Person p = new Person();
p.setFirstName(request.getParameter("firstname"));
p.setLastName(request.getParameter("lastname"));
在你的DAO中,它更像是这样,
public void savePerson(Person person) {
// Method statements
}
因此,声明只发生在Model
。我希望它可以解决你的困惑。
答案 1 :(得分:2)
我认为您使用的变量名称很好。您可以根据模块的类型命名类。因此,您可以使用MyApplicationController,EmployeeModel,EmployeeDAO等名称命名您的类。