您的位置:首页 > Web前端 > JavaScript

jsp生成静态页面遇到的一些问题

2009-02-21 17:12 369 查看
看见别人网站上都是静态页面,心里痒痒的,昨天晚上自己试着写了一下
不过只能写出非常简单的一部分,在静态页面里分页还不会做,还有待研究

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

}

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

}

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>

还有部分文件就不贴出来了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: