Struts标簽下的使用者注冊
第一步:建立動态項目,加入相關類包
第二步:在web.xml檔案中注冊Struts2提供的StrutsPrepareAndFilter過濾器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<code><</code><code>web-app</code> <code>xmlns:xsi</code><code>=</code><code>"http://www.w3.org/2001/XMLSchema-instance"</code>
<code> </code><code>xmlns</code><code>=</code><code>"http://java.sun.com/xml/ns/javaee"</code> <code>xmlns:web</code><code>=</code><code>"http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</code>
<code> </code><code>xsi:schemaLocation</code><code>=</code><code>"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"</code>
<code> </code><code>id</code><code>=</code><code>"WebApp_ID"</code> <code>version</code><code>=</code><code>"2.5"</code><code>></code>
<code> </code><code><</code><code>welcome-file-list</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>index.html</</code><code>welcome-file</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>index.htm</</code><code>welcome-file</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>index.jsp</</code><code>welcome-file</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>default.html</</code><code>welcome-file</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>default.htm</</code><code>welcome-file</code><code>></code>
<code> </code><code><</code><code>welcome-file</code><code>>default.jsp</</code><code>welcome-file</code><code>></code>
<code> </code><code></</code><code>welcome-file-list</code><code>></code>
<code> </code><code><!-- Struts2過濾器 --></code>
<code> </code><code><</code><code>filter</code><code>></code>
<code> </code><code><!-- 過濾器名稱 --></code>
<code> </code><code><</code><code>filter-name</code><code>>struts2</</code><code>filter-name</code><code>></code>
<code> </code><code><!-- 過濾器類 --></code>
<code> </code><code><!-- 注冊Struts2提供的StrutsPrepareAndExecuteFilter過濾器 --></code>
<code> </code><code><</code><code>filter-class</code><code>>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</</code><code>filter-class</code><code>></code>
<code> </code><code></</code><code>filter</code><code>></code>
<code> </code><code><!-- Struts2過濾器映射 --></code>
<code> </code><code><</code><code>filter-mapping</code><code>></code>
<code> </code><code><!-- 過濾器映射 --></code>
<code> </code><code><</code><code>url-pattern</code><code>>/*</</code><code>url-pattern</code><code>></code>
<code> </code><code></</code><code>filter-mapping</code><code>></code>
<code></</code><code>web-app</code><code>></code>
第三步:建立index.jsp首頁(通過struts2提供的表單标簽編寫使用者系統資料庫單)
<code><</code><code>h2</code><code>>使用者注冊</</code><code>h2</code><code>></code>
<code> </code><code><</code><code>s:form</code> <code>action</code><code>=</code><code>"userAction"</code> <code>method</code><code>=</code><code>"post"</code><code>></code>
<code> </code><code><</code><code>s:textfield</code> <code>name</code><code>=</code><code>"name"</code> <code>label</code><code>=</code><code>"使用者名"</code> <code>required</code><code>=</code><code>"true"</code> <code>requiredposition</code><code>=</code><code>"left"</code><code>></</code><code>s:textfield</code><code>></code>
<code> </code><code><</code><code>s:password</code> <code>name</code><code>=</code><code>"password"</code> <code>label</code><code>=</code><code>"密碼"</code> <code>required</code><code>=</code><code>"true"</code> <code>requiredposition</code><code>=</code><code>"left"</code><code>></</code><code>s:password</code><code>></code>
<code> </code><code><</code><code>s:radio</code> <code>name</code><code>=</code><code>"sex"</code> <code>list</code><code>=</code><code>"#{1 : '男', 0 : '女'}"</code> <code>label</code><code>=</code><code>"性别"</code> <code>required</code><code>=</code><code>"true"</code> <code>requiredposition</code><code>=</code><code>"left"</code><code>></</code><code>s:radio</code><code>></code>
<code> </code><code><</code><code>s:select</code> <code>list</code><code>=</code><code>"{'請選擇地區','廣州','深圳','佛山','茂名'}"</code> <code>name</code><code>=</code><code>"area"</code> <code>label</code><code>=</code><code>"地區"</code><code>></</code><code>s:select</code><code>></code>
<code> </code><code><</code><code>s:checkboxlist</code> <code>list</code><code>=</code><code>"{'足球','羽毛球','乒乓球','籃球'}"</code> <code>name</code><code>=</code><code>"hobby"</code> <code>label</code><code>=</code><code>"愛好"</code><code>></</code><code>s:checkboxlist</code><code>></code>
<code> </code><code><</code><code>s:textarea</code> <code>name</code><code>=</code><code>"description"</code> <code>cols</code><code>=</code><code>"30"</code> <code>rows</code><code>=</code><code>"5"</code> <code>label</code><code>=</code><code>"描述"</code><code>></</code><code>s:textarea</code><code>></code>
<code> </code><code><</code><code>s:submit</code> <code>value</code><code>=</code><code>"注冊"</code><code>></</code><code>s:submit</code><code>></code>
<code> </code><code><</code><code>s:reset</code> <code>value</code><code>=</code><code>"重置"</code><code>></</code><code>s:reset</code><code>></code>
<code> </code><code></</code><code>s:form</code><code>></code>
第四步:建立注冊後的傳回頁面success.jsp
<code><</code><code>div</code><code>></code>
<code> </code><code><</code><code>ul</code><code>></code>
<code><</code><code>li</code><code>>使用者名:<</code><code>s:property</code> <code>value</code><code>=</code><code>"name"</code><code>/></</code><code>li</code><code>></code>
<code><</code><code>li</code><code>>密碼:<</code><code>s:property</code> <code>value</code><code>=</code><code>"password"</code><code>/></</code><code>li</code><code>></code>
<code><</code><code>li</code><code>>性别:<</code><code>s:if</code> <code>test</code><code>=</code><code>"sex==0"</code><code>>女</</code><code>s:if</code><code>><</code><code>s:else</code><code>>男</</code><code>s:else</code><code>></</code><code>li</code><code>></code>
<code><</code><code>li</code><code>>地區:<</code><code>s:property</code> <code>value</code><code>=</code><code>"area"</code><code>/></</code><code>li</code><code>></code>
<code><</code><code>li</code><code>>愛好:<</code><code>s:property</code> <code>value</code><code>=</code><code>"hobby"</code><code>/></</code><code>li</code><code>></code>
<code><</code><code>li</code><code>>描述:<</code><code>s:property</code> <code>value</code><code>=</code><code>"description"</code><code>/></</code><code>li</code><code>></code>
<code></</code><code>ul</code><code>></code>
<code></</code><code>div</code><code>></code>
第五步:建立UserAction類,繼承于ActionSupport類,作用是對使用者注冊請求及使用者資訊編輯請求處理
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<code>public</code> <code>class</code> <code>UserAction </code><code>extends</code> <code>ActionSupport{</code>
<code> </code><code>private</code> <code>static</code> <code>final</code> <code>long</code> <code>serialVersionUID = 1L;</code>
<code> </code><code>// 使用者名</code>
<code> </code><code>private</code> <code>String name;</code>
<code> </code><code>// 密碼</code>
<code> </code><code>private</code> <code>String password;</code>
<code> </code><code>// 描述</code>
<code> </code><code>private</code> <code>String description;</code>
<code> </code><code>// 性别</code>
<code> </code><code>private</code> <code>int</code> <code>sex = </code><code>0</code><code>;</code>
<code> </code><code>// 省份</code>
<code> </code><code>private</code> <code>String area;</code>
<code> </code><code>// 愛好</code>
<code> </code><code>private</code> <code>String[] hobby;</code>
<code> </code><code>// 使用者注冊</code>
<code> </code><code>public</code> <code>String execute() </code><code>throws</code> <code>Exception {</code>
<code> </code><code>return</code> <code>SUCCESS;</code>
<code> </code><code>}</code>
<code> </code><code>public</code> <code>String getName() {</code>
<code> </code><code>return</code> <code>name;</code>
<code> </code><code>public</code> <code>void</code> <code>setName(String name) {</code>
<code> </code><code>this</code><code>.name = name;</code>
<code> </code><code>public</code> <code>String getPassword() {</code>
<code> </code><code>return</code> <code>password;</code>
<code> </code><code>public</code> <code>void</code> <code>setPassword(String password) {</code>
<code> </code><code>this</code><code>.password = password;</code>
<code> </code><code>public</code> <code>String getDescription() {</code>
<code> </code><code>return</code> <code>description;</code>
<code> </code><code>public</code> <code>void</code> <code>setDescription(String description) {</code>
<code> </code><code>this</code><code>.description = description;</code>
<code> </code><code>public</code> <code>int</code> <code>getSex() {</code>
<code> </code><code>return</code> <code>sex;</code>
<code> </code><code>public</code> <code>void</code> <code>setSex(</code><code>int</code> <code>sex) {</code>
<code> </code><code>this</code><code>.sex = sex;</code>
<code> </code><code>public</code> <code>String getArea() {</code>
<code> </code><code>return</code> <code>area;</code>
<code> </code><code>public</code> <code>void</code> <code>setArea(String area) {</code>
<code> </code><code>this</code><code>.area = area;</code>
<code> </code><code>public</code> <code>String[] getHobby() {</code>
<code> </code><code>return</code> <code>hobby;</code>
<code> </code><code>public</code> <code>void</code> <code>setHobby(String[] hobby) {</code>
<code> </code><code>this</code><code>.hobby = hobby;</code>
<code>}</code>
第六步:建立配置檔案Struts.xml,在該檔案中配置UserAction對象(要放在src檔案夾下)
<code><!DOCTYPE struts PUBLIC</code>
<code> </code><code>"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"</code>
<code> </code><code>"http://struts.apache.org/dtds/struts-2.1.dtd"></code>
<code> </code><code><</code><code>struts</code><code>></code>
<code> </code><code><!-- 聲明變量(開發模式) --></code>
<code> </code><code><</code><code>constant</code> <code>name</code><code>=</code><code>"struts.devMode"</code> <code>value</code><code>=</code><code>"true"</code> <code>/></code>
<code> </code><code><!-- 聲明包 --></code>
<code> </code><code><</code><code>package</code> <code>name</code><code>=</code><code>"myPackge"</code> <code>extends</code><code>=</code><code>"struts-default"</code><code>></code>
<code> </code><code><!-- 建立TagAction的映射 --></code>
<code> </code><code><</code><code>action</code> <code>name</code><code>=</code><code>"userAction"</code> <code>class</code><code>=</code><code>"com.lxy.UserAction"</code><code>></code>
<code> </code><code><!-- 注冊成功的傳回頁面 --></code>
<code> </code><code><</code><code>result</code><code>>success.jsp</</code><code>result</code><code>></code>
<code> </code><code></</code><code>action</code><code>></code>
<code> </code><code></</code><code>package</code><code>></code>
<code> </code><code></</code><code>struts</code><code>></code>
最後運作效果如下:
輸入注冊資訊
<a href="http://s3.51cto.com/wyfs02/M02/11/F4/wKioL1LodEvwd7QKAAK9QoEqsGE880.jpg" target="_blank"></a>
注冊成功
<a href="http://s3.51cto.com/wyfs02/M01/11/F5/wKiom1LodJ6zT_fVAAG3UcDzqF8926.jpg" target="_blank"></a>
Struts2标簽下使用驗證架構對資料校驗
第三步:建立使用者登入的Action對象UserAction,并配置到Struts.xml中
<code> </code><code>private</code> <code>String username;</code><code>// 使用者名</code>
<code> </code><code>private</code> <code>String password;</code><code>// 密碼</code>
<code> </code><code>// 使用者登入</code>
<code> </code><code>@Override</code>
<code> </code><code>public</code> <code>String getUsername() {</code>
<code> </code><code>return</code> <code>username;</code>
<code> </code><code>public</code> <code>void</code> <code>setUsername(String username) {</code>
<code> </code><code>this</code><code>.username = username;</code>
Struts.xml
<code><</code><code>struts</code><code>></code>
<code> </code><code><!-- 配置UserAction --></code>
<code> </code><code><!-- 使用者登入頁面 --></code>
<code> </code><code><</code><code>result</code> <code>name</code><code>=</code><code>"input"</code><code>>/login.jsp</</code><code>result</code><code>></code>
<code> </code><code><!-- 注冊成功頁面 --></code>
<code> </code><code><</code><code>result</code><code>>/success.jsp</</code><code>result</code><code>></code>
<code></</code><code>struts</code><code>></code>
第四步:建立使用者登入頁面login.jsp(通過Struts表單标簽建立)
<code><</code><code>s:form</code> <code>action</code><code>=</code><code>"userAction"</code> <code>method</code><code>=</code><code>"post"</code><code>></code>
<code> </code><code><</code><code>s:textfield</code> <code>name</code><code>=</code><code>"username"</code> <code>label</code><code>=</code><code>"使用者名"</code> <code>required</code><code>=</code><code>"true"</code> <code>requiredposition</code><code>=</code><code>"left"</code><code>></</code><code>s:textfield</code><code>></code>
<code> </code><code><</code><code>s:submit</code> <code>key</code><code>=</code><code>"submit"</code> <code>value</code><code>=</code><code>"登入"</code><code>></</code><code>s:submit</code><code>></code>
第五步:建立success.jsp
<code><</code><code>h2</code><code>></code>
<code> </code><code><</code><code>s:property</code> <code>value</code><code>=</code><code>"username"</code><code>/>,登入成功</code>
<code> </code><code></</code><code>h2</code><code>></code>
第六步:編寫使用者驗證檔案UserAction-validation.xml(必須放在UserAction所在包中)
<code><</code><code>validators</code><code>></code>
<code> </code><code><!-- 驗證使用者名 --></code>
<code> </code><code><</code><code>field</code> <code>name</code><code>=</code><code>"username"</code><code>></code>
<code> </code><code><</code><code>field-validator</code> <code>type</code><code>=</code><code>"requiredstring"</code><code>></code>
<code> </code><code><</code><code>message</code><code>>請輸入使用者名</</code><code>message</code><code>></code>
<code> </code><code></</code><code>field-validator</code><code>></code>
<code> </code><code></</code><code>field</code><code>></code>
<code> </code><code><!-- 驗證密碼 --></code>
<code> </code><code><</code><code>field</code> <code>name</code><code>=</code><code>"password"</code><code>></code>
<code> </code><code><</code><code>message</code><code>>請輸入密碼</</code><code>message</code><code>></code>
<code></</code><code>validators</code><code>></code>
登入
<a href="http://s3.51cto.com/wyfs02/M02/11/F5/wKiom1LoeHuzO_USAAGWy7IqZxc293.jpg" target="_blank"></a>
成功登入
<a href="http://s3.51cto.com/wyfs02/M00/11/F5/wKiom1LoeLCTDWgeAAF0sAyyspY565.jpg" target="_blank"></a>
本文轉自lixiyu 51CTO部落格,原文連結:http://blog.51cto.com/lixiyu/1355303,如需轉載請自行聯系原作者