一个讨厌的struts2问题

虽然项目已经完成,但是我讨厌我的代码。
是否有人与我有同感,struts2的action代码很是恶心


public class PersonAction implements Preparable {

//我讨厌把数据写在这里,更讨厌get set
private PersonService service;
private List<Person> persons;
private Person person;
private Integer id;

public PersonAction(PersonService service) {
this.service = service;
}

public String execute() {
this.persons = service.findAll();
return Action.SUCCESS;
}

public String save() {
this.service.save(person);
this.person = new Person();
return execute();
}

public String remove() {
service.remove(id);
return execute();
}

public List<Person> getPersons() {
return persons;
}

//特别讨厌这个getId(),setId()
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public void prepare() throws Exception {
if (id != null)
person = service.find(id);
}

public Person getPerson() {
return person;
}

public void setPerson(Person person) {
this.person = person;
}
}

而struts1,spring mvc,vraptor3的方式多好


//Spring MVC 2.5 ,没有get set
@RequestMapping(params =
"method=listBoardTopic")
public String listBoardTopic(@RequestParam(
"id")int topicId, User user,
ModelMap model) {
bbtForumService.getBoardTopics(topicId);
model.addAttribute(
"currUser",user); //②向ModelMap中添加一个属性
return
"listTopic";
}

//Vraptor3 ,Restful ,没有get set
@Path(
"/users/{user.id}")
@Get
public void view(User user) {
this.dao.refresh(user);
result.include(
"user", user);
}

[该贴被oojdon于2009-10-10 11:01修改过]
[该贴被oojdon于2009-10-10 11:05修改过]
[该贴被oojdon于2009-10-10 11:07修改过]

>@RequestMapping(params = "method=listBoardTopic")
public String listBoardTopic(@RequestParam("id")int topicId, User user,
ModelMap model)

我个人讨厌Spring 2.5的这种复杂的Annotation写法,注解如果只按照中文名词解释,就是在主要文字边上注解的,如果注解的文字不容易让人理解,那不是还需要注解的注解了?那么我们看古文就是在不断注解中,远离原文真正意图,而在软件中,则是远离真正需求了。

还好
btw:jivejdon的缓存太厉害了,修改了帖子或者回复之后看不到结果,要刷一次。
[该贴被oojdon于2009-10-10 11:19修改过]

有空去看看tapestry5的处理。

有空去看看tapestry5的处理。

发多了,我只按了一次,却发了2个上来,呵呵。ajax应用的不够好。
[该贴被dhxyu于2009-10-10 16:02修改过]

我也讨厌那个getset

vraptor 还真是怪,2.x 有些设计模仿seam,3.0 又将IN, out 去掉了,从properies 注入转到constructer注入。

物极必反,只需要找到适合自己的优雅。
[该贴被lendo于2009-10-29 16:32修改过]

>>vraptor 还真是怪,2.x 有些设计模仿seam,3.0 又将IN, out 去掉了,从properies 注入转到constructer注入。
In,Out多了也不爽,jforum3就是用vraptor2写的,就没用IN,Out.
不过vraptor2的源码非常欣赏,写得很好,vrapte3没有vraptor2代码看起舒服。

[该贴被oojdon于2009-10-29 17:38修改过]