方面的書籍,但是自己看過一些朋友的帖子,大概知道是怎麼回事,於是這兩天就先在網上
看了一些資料,看看前輩們的學習方法,看到了好多朋友的好資料 ,以及怎麼最快
最好的方法入門這個框架。 自己還把網上那個朋友的學習方法轉載到了自己的博客來了,哈
哈!今天就從網上找了一個視頻 看了一遍 就動手開始了 第一個Demo。
以下是自己在做第一個Demo時,手工一點一點寫下的記錄,花了兩個多小時,最終還是
沒有寫的很完整,哈哈!由自己的這個寫的過程發現,要認真寫完一個完整的過程 ,還真不
容易,中途差點就想放棄不寫,想了想,寫這個這麼簡單的東西,大蝦們看了,肯定會笑話
的,太easy了,但還是堅持寫了下來,反正你們又不認識我,怕啥,就當鍛鍊打打字了,嘿
嘿! 如下
就是 我記錄的全過程,還有待修改,放到博客來再說,呵呵!
[align=center]
1 一個登陸例子來學習Struts的學習總結[/align]
1.1.1:準備工作:下載並安裝MyEclipse_6.0.1GA_E3.3.1_FullStackInstaller.exe,並
且註冊,註冊碼自己搞定--google。
1.1.2:新建一個Web Project工程。例如 命名爲 FirstStrutsDemo
1.1.3:選中剛建好的工程,右擊選中"MyEclipse" ---->"Add Struts Capabilites..."
1.1.4:在彈出框中修改爲自己喜歡的包名。例如:"com.xiaokexin.struts" 其它保持
默認點擊"finish"即可。
1.1.5:經過上一步後,工程會自動添加struts-config.xml和
ApplicationResources.properties及其它的struts的jar包文件。
1.1.6:給工程的"WebRoot"目錄下添加幾個登陸相關的頁面如:
login.jsp , login_success.jsp , login_failure.jsp , errors.jsp.
選中"WebRoot"目錄,右擊,選擇"Create a new JSP Page." 在彈出框中輸入文件名稱
和選中模板。
當然可以做好一個,然後按住ctrl鍵直接拖動文件到WebRoot目錄來複制文件,以達到新
建其它的文件。
注意 在新建這些頁面時,記得選擇"Strandard JSP using Struts 1.2/1.3" 這個板。
1.1.7: 打開上一步新建的頁面,將pageEncoding="GB18030" 修改爲
contentType="text/html;charset=gb2312",並去掉一些不
必要的頁面元素,如
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,<html:base />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
1.1.8:在myEclipse切換視圖位置處,右擊選擇"customize Perspective"即自定義視圖來
建立Struts中的ActionForm和ACTION。
打開"自定義視圖" 選擇"Web-Struts"----->"Struts 1.2" ---->選擇右邊的
"Struts 1.2 Form , Action & JSP" 其它的
選項可以去掉。完了後,點擊"finish"即可。
1.1.9:經過上一步後,選擇工程右擊-->"new" -->選中"Struts 1.2 Form , Action ,
_Jsp",在彈出窗口中一次輸入待填項。
如:UserCase:login ;Name:loginForm 其中"Superclass"項選
擇"org.apache.struts.action.ActionForm" 讓loginForm
繼承ActionForm,主要用來驗證表單的(LoginForm)。另外給該ActionForm添加屬性,在同
一窗口 點擊"add" 添加和頁面表單中同樣的
屬性和名稱。如頁面表單的名稱爲name,password 則這裏也和頁面保持一致。點擊下一
步。
1.1.10:上一步主要是給頁面配ActionForm,主要用來驗證的,這步主要是給該
ActionForm配Action以用來做一些頁面的跳轉。
點擊下一步後 在新的的窗口中有幾個屬性要注意的。
path:/login 主要用來頁面表單提交是對應的。頁面表單由該Action來處理頁面跳
轉。默認該Action的父類爲
org.apache.struts.action.ActionForm 本身的Action叫
com.xiaokexin.struts.action.LoginAction 自動生成的。
attribute:loginForm 也就是 把上一步新建的ActionForm作爲參數傳遞給該Action如
LoginAction
scope:request 請求範圍。
Input Source:默認爲"/login.jsp",主要作用是表單驗證出錯的話,就直接輸入到該屬
性指定的頁面。
我根據自己的需要,是配置到 errors.jsp,即 一旦出錯,就輸入到錯誤頁面,而不是到
登陸頁面。
當然這個過程中 Validate Form 前面的複選框要選中了,就是請求到Action(如
LoginAction)之前,先必須通過ActionForm類的驗證
方法。 好了,查不到了,點擊"finish"即可。
1.1.11:經過上一步後,工程的struts-config.xml文件中就會多出如下的一些內容
<form-beans>
<form-bean name="loginForm" type="com.xiaokexin.struts.form.LoginForm" />
</form-beans>
<action-mappings>
<action
attribute="loginForm"
input="/errors.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.xiaokexin.struts.action.LoginAction" />
</action-mappings>
另外,工程中還會自動添加剛配置的兩個類,如LoginAction 以及 LoginForm
1.1.12:以上就是Struts工程的整個配置過程,確實挺鬼麻煩的,但還是堅持寫完了,沒
想到嚇寫,嚇寫,寫了這麼多廢話,呵呵
後面的步驟,主要給新建的頁面添加Struts的標籤,如給login.jsp頁面添加
<html:form/>,<html:text/>,<html:password/>
<html:submit/>,<html:reset> <html:errors/>等組成要顯示的頁面。
補充:工程目錄嚇的 ApplicationResources.properties 文件中 如果寫下中文,點擊保
存的時候,遇到字符編碼的問題。
name.null = <li>用戶名不能爲空!!
password.null = <li>密碼不能爲空!! 這樣保存報編碼有問題。
name.null = <li>\u7528\u6237\u540d\u4e0d\u80fd\u4e3a\u7a7a\uff01\uff01\uff01
password.null = <li>\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01\uff01\uff01
這樣就沒有問題了。怎樣生成"戶名不能爲空!!" 對應的 "\u7528\u6237\u540d\u4e0d
\u80fd\u4e3a\u7a7a\uff01\uff01\uff01"字符串呢?
看寫視頻的前輩是這樣的做的,到JDK的安裝目錄的bin目錄下,找到native2ascii.exe這
個文件,雙擊運行,輸入"用戶名不能爲空!!"
即可生成對應"\u7528\u6237\u540d\u4e0d\u80fd\u4e3a\u7a7a\uff01\uff01\uff01!"
附件是整個的工程的源代碼,不好意思 浪費 javaeye空間來了,嘿嘿!