簡(jiǎn)單的頁(yè)面分析
在上一個(gè)文章簡(jiǎn)單的數(shù)據(jù)庫(kù)連接測(cè)試,已經(jīng)測(cè)試和數(shù)據(jù)庫(kù)做簡(jiǎn)單的交互,也就是dao層的實(shí)現(xiàn),接下來(lái)要說(shuō)的卻是action的簡(jiǎn)單實(shí)現(xiàn),在ssh中有struts作為表示層和server的交換,而這里我不是說(shuō)的是關(guān)于struts這里只是簡(jiǎn)單的運(yùn)用jsp的代碼書寫來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸,這也是最繁瑣的步驟,但是這卻讓我們對(duì)底層的調(diào)用有一個(gè)簡(jiǎn)單的了解,這里是直接調(diào)用封裝好的數(shù)據(jù),交換和使用,首先要書寫的是action的使用,用的最多的就是getparameter表單的提交了,這里在網(wǎng)絡(luò)上提交一個(gè)表單嗎,然后通過(guò)getparameter進(jìn)行獲取,然后通過(guò)enployeedao中的方法進(jìn)行增刪改查,就能夠進(jìn)行基本的邏輯操作了。
代碼實(shí)現(xiàn)
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
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
56
57
58
59
60
61
62
63
|
<% @page import = "dao.employeedao" %> <% @page import = "java.text.simpledateformat" %> <% @page import = "entity.employee" %> <%@ page language= "java" contenttype= "text/html; charset=utf-8" pageencoding= "utf-8" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd" > <html> <head> <meta http-equiv= "content-type" content= "text/html; charset=iso-8859-1" > <title>insert title here</title> </head> <body> <% //1、接收表單提交的參數(shù) string action = request.getparameter( "action" ); //3.調(diào)用employeedao中addemployee(employee employee)完成員工添加 employeedao employeedao = new employeedao(); if (action.equals( "0" ) || action.equals( "1" )) { //添加 更新 string empno = request.getparameter( "empno" ); string ename = request.getparameter( "ename" ); string sal = request.getparameter( "sal" ); string hiredate = request.getparameter( "hiredate" ); //2.將數(shù)據(jù)封裝至employee對(duì)象中 employee employee = new employee(); employee.setempno(integer.parseint(empno)); employee.setename(ename); employee.setsal( double .parsedouble(sal)); simpledateformat sdf = new simpledateformat( "yyyy-mm-dd" ); employee.sethiredate(sdf.parse(hiredate)); if (action.equals( "0" )) { //添加 employeedao.addemployee(employee); } else { //更新 employeedao.updateemployee(employee); } } else if (action.equals( "2" )) { //刪除 string empno = request.getparameter( "empno" ); employeedao.deleteemployee(empno); } else if (action.equals( "3" )) { //批量刪除 system.out.println( "action=" +action); string[] chks=request.getparametervalues( "chks" ); for (string chk:chks){ system.out.println( "chk=" +chk); } } //4.畫面跳轉(zhuǎn)至employeelist.jsp 重定向 response.sendredirect( "employeelist.jsp" ); %> </body> </html> |
然后我們進(jìn)行簡(jiǎn)單的頁(yè)面設(shè)計(jì),運(yùn)用了表格的形式進(jìn)行設(shè)計(jì),代碼如下
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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
<% @page import = "java.util.list" %> <% @page import = "entity.employee" %> <% @page import = "dao.employeedao" %> <% @page language= "java" contenttype= "text/html; charset=utf-8" pageencoding= "utf-8" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd" > <html> <head> <meta http-equiv= "content-type" content= "text/html; charset=iso-8859-1" > <title>insert title here</title> <script> function checkall() { //1.獲取chkall的選中狀態(tài)checked var chkall = document.getelementbyid( "chkall" ); //alert(chkall.checked); //2、獲取其他所有的checkbox var chks = document.getelementsbyname( "chks" ); for (var i = 0 ; i < chks.length; i++) { //3、將chkall的選中狀態(tài)于其他checkbox的選中狀態(tài)同步 chks[i].checked = chkall.checked; } } function ondelete(empno){ var result=confirm( "delete employee?" ); if (result){ window.location.href= "employeemanageaction.jsp?action=2&empno=" rel= "external nofollow" +empno; } } //function ondeletebatch(){ //判斷是否有選中的checkbox //有選中的場(chǎng)合 //提示是否刪除確認(rèn)的信息 //確認(rèn)刪除 //提交表單 //var action=document.getelementbyid("action"); //action.value="3"; // document.frmlist.action="employeemanageaction.jsp" // document.frmlist.submit(); //取消刪除 //不用處理 //無(wú)選中的場(chǎng)合 //提示選中記錄的信息 //} </script> </head> <body> <h3>employee list page</h3> <form name= "frmsearch" action= "xxxxaction.jsp" method= "post" > ename:<input type= "text" /> <input type= "submit" name= "btnsubmit" value= "submit" /> </form> <p> <hr /> <a href= "employeemanage.jsp?action=0" rel= "external nofollow" >add employee</a> <a href= "javascript:void(0)" rel= "external nofollow" rel= "external nofollow" onclick= "ondeletebatch();" >delete employee batch</a> <p> <% employeedao emplyeedao = new employeedao(); list<employee> employees = emplyeedao.getemployees(); %> <% if (employees != null && employees.size() > 0 ) { %> <form name= "frmlist" action= "" method= "post" > <input type= "hidden" name= "action" id= "action" value= "" /> <table width= "600px" border= "1px" > <tr bgcolor= "#009966" > <td><input type= "checkbox" id= "chkall" onclick= "checkall()" /></td> <td>empno</td> <td>ename</td> <td>sal</td> <td>hiredate</td> <td>action</td> </tr> <% employee employee = null ; for ( int i = 0 ; i < employees.size(); i++) { employee = employees.get(i); %> <tr> <td><input type= "checkbox" id= "chk<%=i + 1%>" name= "chks" value= "<%=employee.getempno()%>" /></td> <td><%=employee.getempno()%></td> <td><%=employee.getename()%></td> <td><%=employee.getsal()%></td> <td><%=employee.gethiredate()%></td> <td><a href= "employeemanage.jsp?action=1&empno=<%=employee.getempno()%>" rel= "external nofollow" >update</a> <a href= "javascript:void(0)" rel= "external nofollow" rel= "external nofollow" onclick= "ondelete(<%=employee.getempno()%>);" >delete</a></td> </tr> <% } %> </table> </form> <% } %> </body> </html> |
接下來(lái)要說(shuō)的是更新操作
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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
<% @page import = "entity.employee" %> <% @page import = "dao.employeedao" %> <%@ page language= "java" contenttype= "text/html; charset=utf-8" pageencoding= "utf-8" %> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd" > <html> <head> <meta http-equiv= "content-type" content= "text/html; charset=iso-8859-1" > <title>insert title here</title> <script> function checkform() { var empno = document.getelementbyid( "empno" ); if (empno && empno.value == "" ) { empno.focus(); alert( "please input empno" ); return ; } var ename = document.getelementbyid( "ename" ); if (ename && ename.value == "" ) { ename.focus(); alert( "please input ename" ); return ; } var sal = document.getelementbyid( "sal" ); if (sal && sal.value == "" ) { sal.focus(); alert( "please input sal" ); return ; } var hiredate = document.getelementbyid( "hiredate" ); if (hiredate && hiredate.value == "" ) { hiredate.focus(); alert( "please input hiredate" ); return ; } var frm = document.getelementbyid( "frm" ); frm.submit(); } </script> </head> <body> <% string action=request.getparameter( "action" ); employee employee= null ; if (action.equals( "1" )){ //更新操作 string empno = request.getparameter( "empno" ); employeedao employeedao = new employeedao(); employee=employeedao.getemployeebyempno(empno); } %> <h3>employee <%=action.equals( "1" )? "update" : "regist" %> page</h3> <form id= "frm" action= "employeemanageaction.jsp" method= "post" onsubmit= "return checkform();" > <input type= "hidden" name= "action" value= "<%=action%>" /> <table> <tr> <td>empno</td> <td><input type= "text" id= "empno" name= "empno" <%=action.equals( "1" )? "readonly" : "" %> value= "<%=employee==null?" ":employee.getempno()%>" /></td> </tr> <tr> <td>ename</td> <td><input type= "text" id= "ename" name= "ename" value= "<%=employee==null?" ":employee.getename()%>" /></td> </tr> <tr> <td>sal</td> <td><input type= "text" id= "sal" name= "sal" value= "<%=employee==null?" ":employee.getsal()%>" /></td> </tr> <tr> <td>hiredate</td> <td><input type= "text" id= "hiredate" name= "hiredate" value= "<%=employee==null?" ":employee.gethiredate()%>" /></td> </tr> <tr> <td><input type= "button" name= "btnsubmit" value= "submit" onclick= "checkform();" /></td> <td><input type= "reset" name= "btnreset" value= "reset" /></td> </tr> </table> </form> </body> </html> |
在這個(gè)過(guò)程中剛好用到了簡(jiǎn)單的js對(duì)數(shù)據(jù)進(jìn)行非空和數(shù)據(jù)類型判斷,這就是我們需要學(xué)會(huì)的邏輯,業(yè)務(wù)層,然后進(jìn)行其他操作,當(dāng)然我注釋的是還沒(méi)完成的多個(gè)刪除和模糊搜索,這個(gè)下一個(gè)博客再去完善。
總結(jié)
在學(xué)習(xí)這個(gè)過(guò)程中,學(xué)會(huì)了更多關(guān)于數(shù)據(jù)調(diào)用的知識(shí),而不是像hibernate那樣在配置文件配置,然后直接調(diào)用就可以了,再用jsp中也發(fā)現(xiàn)jsp嵌入代碼,更加笨重,這也是我學(xué)習(xí)的另一個(gè)方面吧。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/lxh5431/article/details/52489972