action类:
private List list;
IforumService forumService;//都要实现set和get方法
public String QueryArticle(){
List list1=forumservice.QueryArticle();
this.setList(list1);
if(list1==null)
return "failure";
else{
System.out.println("11"+list.size());
return "success";
}
}
service类(Iforumservice)://要实现action中的QueryArticle()
IforumDao forumDao;
public List QueryArticle(){
try {
return forumDao.showArticle();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
dao类(IforumDao )://要实现service中的showArticle()
private HibernateTemplate ht=null;
private SessionFactory sessionFactory=null;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
private HibernateTemplate getHibernateTemplate(){
if(ht==null){
ht=new HibernateTemplate(sessionFactory);
}
return ht;
}
public List showArticle() {
Session session=getHibernateTemplate().getSessionFactory().openSession();
Transaction tx=null;
Article article;
try {
tx=session.beginTransaction();
Query query=session.createQuery("from Article order by articleId desc");
List list=(List) query.list();
tx.commit();
session.close();
session=null;
return list;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
在action、service和action三个包中层层连接后,便开始配置beans.xml
<bean id="IforumDao" class="com.exam.dao.impl.IforumDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="Iforumservice" class="com.exam.service.impl.IforumServiceImpl">
<property name="forumDao" ref="IforumDao"></property>
</bean>
<bean id="ForumAction" class="com.exam.action.ForumAction">//此处的bean id由于路径class已经到达action,所以id便是到struts.xml中的action class
<property name="forumservice" ref="Iforumservice"></property>
</bean>
配置完beans.xml,接下来就是struts.xml
<action name="forumAction" class="ForumAction" >
<result name="success">Student/studentHome.jsp</result>
<result name="error">Student/bbsPage.jsp</result>
</action> //此处不需要method,是因为默认会执行action中的execute()方法
<action name="forumAction1" class="ForumAction" method="QueryArticle">
<result name="success">Student/wodetiezi.jsp</result>//顺序依次是struts.xml->action name->class->beans.xml->bean id->依次action、service、dao进行即可
<result name="error">Student/bbsPage.jsp</result> //执行完action,返回成功/失败,匹配此处的result name,跳转到不同的jsp页面
</action>
在一个主页面jsp中,添加
<form action="forumAction1.action" method="post"> //此句说明在struts.xml中action name的作用
<input type="submit" value="查看帖子"/>
</form>
此句添加完,提交请求,即可开始执行前面的——“顺序依次是struts.xml->action name->class->beans.xml->bean id->依次action、service、dao进行即可”——过程。