UserAction.java
1
/*
2
* Generated by MyEclipse Struts
3
* Template path: templates/java/JavaClass.vtl
4
*/
5
package com.lucky.struts.action;
6
7
import javax.servlet.http.HttpServletRequest;
8
import javax.servlet.http.HttpServletResponse;
9
10
import org.apache.struts.action.ActionForm;
11
import org.apache.struts.action.ActionForward;
12
import org.apache.struts.action.ActionMapping;
13
import org.apache.struts.action.ActionMessage;
14
import org.apache.struts.action.ActionMessages;
15
import org.apache.struts.actions.DispatchAction;
16
17
import com.lucky.struts.form.UserForm;
18
19
/**
20
* MyEclipse Struts
21
* Creation date: 09-23-2007
22
*
23
* XDoclet definition:
24
* @struts.action path="/user" name="userForm" input="/user.jsp" parameter="method" scope="request" validate="true"
25
*/
26
public class UserAction extends DispatchAction {
27
private ActionMessages messages = new ActionMessages();
28
public ActionForward toAdd(ActionMapping mapping, ActionForm form,
29
HttpServletRequest request, HttpServletResponse response) {
30
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
31
String inputPage = mapping.getInput();
32
this.saveToken(request);
33
return mapping.findForward("toAdd");
34
}
35
36
public ActionForward executeAdd(ActionMapping mapping, ActionForm form,
37
HttpServletRequest request, HttpServletResponse response) {
38
UserForm userForm = (UserForm) form;// TODO Auto-generated method stub
39
String inputPage = mapping.getInput();
40
if (this.isTokenValid(request, true)) {
41
//沒有重復提交
42
System.out.println("新增操作
.");
43
return mapping.findForward("success");
44
}else{
45
messages.clear();
46
messages.add(ActionMessages.GLOBAL_MESSAGE,new ActionMessage("error.token"));
47
request.setAttribute("message", messages);
48
this.resetToken(request);
49
return mapping.findForward("error");
50
}
51
}
52
}

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

UserForm.java
1
/*
2
* Generated by MyEclipse Struts
3
* Template path: templates/java/JavaClass.vtl
4
*/
5
package com.lucky.struts.form;
6
7
import javax.servlet.http.HttpServletRequest;
8
import org.apache.struts.action.ActionErrors;
9
import org.apache.struts.action.ActionForm;
10
import org.apache.struts.action.ActionMapping;
11
12
/**
13
* MyEclipse Struts
14
* Creation date: 09-23-2007
15
*
16
* XDoclet definition:
17
* @struts.form name="userForm"
18
*/
19
public class UserForm extends ActionForm {
20
/*
21
* Generated fields
22
*/
23
24
/** password property */
25
private String password;
26
27
/** username property */
28
private String username;
29
30
/** id property */
31
private int id;
32
33
/*
34
* Generated Methods
35
*/
36
37
/**
38
* Method validate
39
* @param mapping
40
* @param request
41
* @return ActionErrors
42
*/
43
public ActionErrors validate(ActionMapping mapping,
44
HttpServletRequest request) {
45
// TODO Auto-generated method stub
46
return null;
47
}
48
49
/**
50
* Method reset
51
* @param mapping
52
* @param request
53
*/
54
public void reset(ActionMapping mapping, HttpServletRequest request) {
55
// TODO Auto-generated method stub
56
}
57
58
/**
59
* Returns the password.
60
* @return String
61
*/
62
public String getPassword() {
63
return password;
64
}
65
66
/**
67
* Set the password.
68
* @param password The password to set
69
*/
70
public void setPassword(String password) {
71
this.password = password;
72
}
73
74
/**
75
* Returns the username.
76
* @return String
77
*/
78
public String getUsername() {
79
return username;
80
}
81
82
/**
83
* Set the username.
84
* @param username The username to set
85
*/
86
public void setUsername(String username) {
87
this.username = username;
88
}
89
90
/**
91
* Returns the id.
92
* @return int
93
*/
94
public int getId() {
95
return id;
96
}
97
98
/**
99
* Set the id.
100
* @param id The id to set
101
*/
102
public void setId(int id) {
103
this.id = id;
104
}
105
}

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

ApplicationResources.properties
1
# Resources for parameter 'conf.ApplicationResources'
2
# Project StrutsToken
3
# Error messages
4
error.token=org.apache.struts.taglib.html.TOKEN
5
6
7
# Button messages
8
button.submit=Submit
9
button.reset=Reset
10
11
12
# Lable messages
13
lable.username=username
14
lable.password=password
15

2

3

4

5

6

7

8

9

10

11

12

13

14

15

struts-config.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
3
4
<struts-config>
5
<data-sources />
6
<form-beans>
7
<form-bean name="userForm"
8
type="com.lucky.struts.form.UserForm" />
9
10
</form-beans>
11
12
<global-exceptions />
13
<global-forwards>
14
<forward name="success" path="/success.jsp"></forward>
15
<forward name="error" path="/error.jsp"></forward>
16
</global-forwards>
17
<action-mappings>
18
<action attribute="userForm" input="/user.jsp" name="userForm"
19
parameter="method" path="/user" scope="request"
20
type="com.lucky.struts.action.UserAction">
21
<forward name="toAdd" path="/add.jsp"></forward>
22
</action>
23
24
</action-mappings>
25
26
<message-resources parameter="conf.ApplicationResources" />
27
</struts-config>
28
29

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

add.jsp
1
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2
<%@include file="./taglib.jsp"%>
3
<%
4
String path = request.getContextPath();
5
String basePath = request.getScheme() + "://"
6
+ request.getServerName() + ":" + request.getServerPort()
7
+ path + "/";
8
%>
9
10
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
11
<html>
12
<head>
13
<base href="<%=basePath%>">
14
15
<title>My JSP 'add.jsp' starting page</title>
16
17
<meta http-equiv="pragma" content="no-cache">
18
<meta http-equiv="cache-control" content="no-cache">
19
<meta http-equiv="expires" content="0">
20
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
21
<meta http-equiv="description" content="This is my page">
22
<!--
23
<link rel="stylesheet" type="text/css" href="styles.css">
24
-->
25
26
</head>
27
28
<body>
29
<br>
30
<br>
31
This is my JSP page.
32
<br>
33
<html:form action="user.do?method=executeAdd" method="post">
34
<bean:message key="lable.username" />:<html:text property="username"></html:text>
35
<br>
36
<bean:message key="lable.password" />:<html:text property="password"></html:text>
37
<html:submit>
38
<bean:message key="button.submit" />
39
</html:submit>
40
<html:reset>
41
<bean:message key="button.reset"/>
42
</html:reset>
43
</html:form>
44
</body>
45
</html>
46

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

error.jsp
1
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2
<%@include file="./taglib.jsp" %>
3
<%
4
String path = request.getContextPath();
5
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6
%>
7
8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9
<html>
10
<head>
11
<base href="<%=basePath%>">
12
13
<title>My JSP 'error.jsp' starting page</title>
14
15
<meta http-equiv="pragma" content="no-cache">
16
<meta http-equiv="cache-control" content="no-cache">
17
<meta http-equiv="expires" content="0">
18
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
19
<meta http-equiv="description" content="This is my page">
20
<!--
21
<link rel="stylesheet" type="text/css" href="styles.css">
22
-->
23
24
</head>
25
26
<body>
27
This is my error JSP page. <br>
28
<html:errors name="message"/>
29
</body>
30
</html>
31

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

index.jsp
1
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2
<%@ include file="./taglib.jsp" %>
3
<%
4
String path = request.getContextPath();
5
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
6
%>
7
8
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
9
<html>
10
<head>
11
<base href="<%=basePath%>">
12
13
<title>My JSP 'index.jsp' starting page</title>
14
<meta http-equiv="pragma" content="no-cache">
15
<meta http-equiv="cache-control" content="no-cache">
16
<meta http-equiv="expires" content="0">
17
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18
<meta http-equiv="description" content="This is my page">
19
<!--
20
<link rel="stylesheet" type="text/css" href="styles.css">
21
-->
22
</head>
23
24
<body>
25
This is my JSP page. <br>
26
<html:link href="user.do?method=toAdd">To add page</html:link>
27
</body>
28
</html>
29

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

success.jsp
1
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
2
<%
3
String path = request.getContextPath();
4
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
5
%>
6
7
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
8
<html>
9
<head>
10
<base href="<%=basePath%>">
11
12
<title>My JSP 'success.jsp' starting page</title>
13
14
<meta http-equiv="pragma" content="no-cache">
15
<meta http-equiv="cache-control" content="no-cache">
16
<meta http-equiv="expires" content="0">
17
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
18
<meta http-equiv="description" content="This is my page">
19
<!--
20
<link rel="stylesheet" type="text/css" href="styles.css">
21
-->
22
23
</head>
24
25
<body>
26
This is my success JSP page. <br>
27
</body>
28
</html>
29

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

taglib.jsp
1
<%@ page language="java" pageEncoding="ISO-8859-1"%>
2
3
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
4
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
5
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
6
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
7
8

2

3

4

5

6

7

8

web.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
3
<servlet>
4
<servlet-name>action</servlet-name>
5
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
6
<init-param>
7
<param-name>config</param-name>
8
<param-value>/WEB-INF/struts-config.xml</param-value>
9
</init-param>
10
<init-param>
11
<param-name>debug</param-name>
12
<param-value>3</param-value>
13
</init-param>
14
<init-param>
15
<param-name>detail</param-name>
16
<param-value>3</param-value>
17
</init-param>
18
<load-on-startup>0</load-on-startup>
19
</servlet>
20
<servlet-mapping>
21
<servlet-name>action</servlet-name>
22
<url-pattern>*.do</url-pattern>
23
</servlet-mapping>
24
<welcome-file-list>
25
<welcome-file>index.jsp</welcome-file>
26
</welcome-file-list>
27
</web-app>
28
29

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
