看见别人网站上都是静态页面,心里痒痒的,昨天晚上自己试着写了一下
不过只能写出非常简单的一部分,在静态页面里分页还不会做,还有待研究
NewsForm.java
1
/*
2
* Generated by MyEclipse Struts
3
* Template path: templates/java/JavaClass.vtl
4
*/
5
package com.news.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: 05-12-2008
15
*
16
* XDoclet definition:
17
* @struts.form name="newsForm"
18
*/
19
public class NewsForm extends ActionForm {
20
/*
21
* Generated fields
22
*/
23
24
/** title property */
25
private String title;
26
27
/** content property */
28
private String content;
29
30
/** author property */
31
private String author;
32
33
/** id property */
34
private Integer id;
35
36
/** type property */
37
private String type;
38
39
/*
40
* Generated Methods
41
*/
42
43
/**
44
* Method validate
45
* @param mapping
46
* @param request
47
* @return ActionErrors
48
*/
49
public ActionErrors validate(ActionMapping mapping,
50
HttpServletRequest request) {
51
// TODO Auto-generated method stub
52
return null;
53
}
54
55
/**
56
* Method reset
57
* @param mapping
58
* @param request
59
*/
60
public void reset(ActionMapping mapping, HttpServletRequest request) {
61
// TODO Auto-generated method stub
62
}
63
64
/**
65
* Returns the title.
66
* @return String
67
*/
68
public String getTitle() {
69
return title;
70
}
71
72
/**
73
* Set the title.
74
* @param title The title to set
75
*/
76
public void setTitle(String title) {
77
this.title = title;
78
}
79
80
/**
81
* Returns the content.
82
* @return String
83
*/
84
public String getContent() {
85
return content;
86
}
87
88
/**
89
* Set the content.
90
* @param content The content to set
91
*/
92
public void setContent(String content) {
93
this.content = content;
94
}
95
96
/**
97
* Returns the author.
98
* @return String
99
*/
100
public String getAuthor() {
101
return author;
102
}
103
104
/**
105
* Set the author.
106
* @param author The author to set
107
*/
108
public void setAuthor(String author) {
109
this.author = author;
110
}
111
112
/**
113
* Returns the id.
114
* @return Integer
115
*/
116
public Integer getId() {
117
return id;
118
}
119
120
/**
121
* Set the id.
122
* @param id The id to set
123
*/
124
public void setId(Integer id) {
125
this.id = id;
126
}
127
128
public String getType() {
129
return type;
130
}
131
132
public void setType(String type) {
133
this.type = type;
134
}
135
}

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

123

124

125

126

127

128

129

130

131

132

133

134

135

NewsAction.java
1
/*
2
* Generated by MyEclipse Struts
3
* Template path: templates/java/JavaClass.vtl
4
*/
5
package com.news.action;
6
7
import java.io.FileInputStream;
8
import java.io.FileNotFoundException;
9
import java.io.FileOutputStream;
10
import java.io.IOException;
11
import java.util.Calendar;
12
13
import javax.servlet.http.HttpServletRequest;
14
import javax.servlet.http.HttpServletResponse;
15
import org.apache.struts.action.Action;
16
import org.apache.struts.action.ActionForm;
17
import org.apache.struts.action.ActionForward;
18
import org.apache.struts.action.ActionMapping;
19
20
import com.news.Tools.Chinese;
21
import com.news.dao.NewsDao;
22
import com.news.form.NewsForm;
23
24
/**
25
* MyEclipse Struts
26
* Creation date: 05-12-2008
27
*
28
* XDoclet definition:
29
* @struts.action path="/news" name="newsForm" input="/news_add.jsp" scope="request" validate="true"
30
* @struts.action-forward name="news_add_ok" path="/news_add_ok.html"
31
*/
32
public class NewsAction extends Action {
33
/*
34
* Generated Methods
35
*/
36
37
/**
38
* Method execute
39
* @param mapping
40
* @param form
41
* @param request
42
* @param response
43
* @return ActionForward
44
* @throws IOException
45
*/
46
public ActionForward execute(ActionMapping mapping, ActionForm form,
47
HttpServletRequest request, HttpServletResponse response) throws IOException {
48
NewsForm newsForm = (NewsForm) form;
49
NewsDao nd = new NewsDao();
50
Chinese c = new Chinese();
51
String title = c.toChinese(newsForm.getTitle());
52
String author = c.toChinese(newsForm.getAuthor());
53
String content = c.toChinese(newsForm.getContent());
54
55
String filePath = "";
56
String template = "module/template.htm";
57
filePath = request.getRealPath("/")+template;
58
System.out.println(filePath);
59
String templateContent="";
60
FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件
61
int lenght = fileinputstream.available();
62
byte bytes[] = new byte[lenght];
63
fileinputstream.read(bytes);
64
fileinputstream.close();
65
templateContent = new String(bytes);
66
templateContent=templateContent.replaceAll("###title###",title);
67
templateContent=templateContent.replaceAll("###content###",content);
68
templateContent=templateContent.replaceAll("###author###",author);//替换掉模块中相应的地方
69
// 根据时间得文件名
70
Calendar calendar = Calendar.getInstance();
71
String filename = String.valueOf(calendar.getTimeInMillis()) +".html";
72
filename = request.getRealPath("/")+"Html/news/"+filename;//生成的html文件保存路径
73
FileOutputStream fileoutputstream = new FileOutputStream(filename);//建立文件输出流
74
byte tag_bytes[] = templateContent.getBytes();
75
fileoutputstream.write(tag_bytes);
76
fileoutputstream.close();
77
String url = "Html/news/"+String.valueOf(calendar.getTimeInMillis())+".html";
78
String type = c.toChinese(newsForm.getType());
79
80
nd.addNews(title, author, content,url,type);
81
return mapping.findForward("news_add_ok");
82
}
83
}

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

template.html
1
<html>
2
<head>
3
<title>###title###</title>
4
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
5
</head>
6
<body>
7
标题:###title###<br/>
8
作者:###author###<br/>
9
内容:###content###<br/>
10
</body>
11
</html>

2

3

4

5

6

7

8

9

10

11

还有部分文件就不贴出来了