速動畫教程第十五集
?
本集為第十二集Struts+Spring+Hibernate練習(完整) 的 續集
?
下載地址:http://sonic.peakle.net/download/sonic015.rar
?
將增加以下部份內容
?
注冊新用戶,用戶瀏覽、刪除用戶
?
現在導入原工程
?
打開 UserDAO.java 文件,增加以下方法,此方法為增加用戶
public interface UserDAO {
??? public abstract boolean isValidUser(String username, String password);
??? public abstract boolean addUser(User user);
}
?
打開 UserDAOImp.java 文件,添加接口方法的實現,并為方法編寫以下內容:
??? public boolean addUser(User user) {
??????? try {
??????????? this.getHibernateTemplate().save(user);
??????? } catch (Exception e) {
??????????? System.out.println(e.getMessage());
??????????? return false;
??????? }
??????? return true;
??? }
?
?
按下Ctrl + N,使用向導創建 add.jsp 、AddForm(動態)、AddAction.java文件,這是注冊新用戶的Action
?
修改配置內容如下:
<action
????? attribute="addForm"
????? input="/add.jsp"
????? name="addForm"
????? path="/add"
????? scope="request"
????? validate="true"
????? type="org.springframework.web.struts.DelegatingActionProxy" />
?
第一句實現了必須對提交的數據進行驗證
第二句實現了和spring集成
?
修改 AddAction.java 文件,內容如下:
?
??? private UserDAO userDAO;
???
??? public UserDAO getUserDAO() {
??????? return userDAO;
??? }
??? public void setUserDAO(UserDAO userDAO) {
??????? this.userDAO = userDAO;
??? }
?
??? public ActionForward execute(
??????? ActionMapping mapping,
??????? ActionForm form,
??????? HttpServletRequest request,
??????? HttpServletResponse response) {
??????? DynaActionForm addForm = (DynaActionForm) form;
??????? User user=new User();
??????? user.setUsername(addForm.getString("username"));
??????? user.setPassword(addForm.getString("password"));
??????? addForm.set("password", null);
??????? if (userDAO.addUser(user)) {
??????????? return mapping.findForward("indexGo");
??????? } else {
??????????? return mapping.getInputForward();
??????? }
??? }
?
關于在Action中使用 User 對像,我在這里沒有使用 IoC 方式進行管理,這不好,希望大家在正式應用中使用。
?
在spring配置文件(applicationContext.xml)中加入以下內容:
?????? <bean name="/add" class="com.test.struts.action.AddAction" singleton="false">
?????? <property name="userDAO">
?????????? <ref bean="userDAOProxy" />
?????? </property>
??? </bean>
?
修改index.jsp文件
<html>
? <head>
??? <title>Struts+Spring+Hibernate</title>
? </head>
?
? <body>