我开始学习struts2,并且不知道很多教友帮助我。 我有这样的动作类
public class LoginAction extends ActionSupport {
private String login;
private String password;
private Collection<News> newses = new ArrayList<News>();
public String execute() {
UserDao userDao = new UserDao();
if(userDao.checkUser(getLogin(),getPassword())){
NewsDao newDao = new NewsDao();
setNewses(newDao.getAllNews());
return SUCCESS;
}
return ERROR;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Collection<News> getNewses() {
NewsDao newDao = new NewsDao();
setNewses(newDao.getAllNews());
return newses;
}
public void setNewses(Collection<News> newses) {
this.newses = newses;
}
}
当execute方法返回Success时,它重定向到news.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title><s:text name="news.page.title"/></title>
</head>
<body>
<s:text name="news.page.main.label"/>
<s:iterator status="stat" value="newses">
<s:property value="title"/>
<s:property value="body"/>
<s:property value="user.name"/>
</s:iterator>
<s:include value="../jspf/footer.jsp" />
</body>
</html>
但结果它显示了这样的东西
并且不显示我的收藏..(带有按钮页面的文本字段和textarea) 帮帮我,告诉我弄错了什么 感谢
答案 0 :(得分:3)
您的getter / setter应与属性名称同步。
示例:
getNewses()
{
...
}
不
getNews(){ ...}
答案 1 :(得分:1)
(不是答案。)
三条评论:
NewsDao
,您应该决定是否要在getter或action execute
方法中执行此操作。execute
方法的结构不是为了减轻理解:更快地失败。public String execute() {
if (!userDao.validUser(login, password)) {
return ERROR;
}
setNews(newDao.getAllNews());
return SUCCESS;
}