html完成頁面靜態(tài)化的案例
發(fā)表時間:2023-12-28 來源:明輝站整理相關軟件相關文章人氣:
[摘要]靜態(tài)化文件位置注意:實體類定義:public class News {private String title;private String pubTime;private String category;private String newsContent;public String getTi...
靜態(tài)化文件位置注意:
實體類定義:
public class News {
private String title;
private String pubTime;
private String category;
private String newsContent;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPubTime() {
return pubTime;
}
public void setPubTime(String pubTime) {
this.pubTime = pubTime;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getNewsContent() {
return newsContent;
}
public void setNewsContent(String newsContent) {
this.newsContent = newsContent;
}
}
自定義流的工具類
public class CharStreamIO {
public void copyFile(String fsrc,String fDest){
File file = new File(fDest);
if(file.exists()){
file.delete();
}
PrintWriter out = null;
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(fsrc));
out = new PrintWriter(new BufferedWriter(new FileWriter(fDest)));
String strRet;
while((strRet=in.readLine()) != null){
out.println(strRet);
out.flush();
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(in != null){
try {
in.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
if(out != null){
try {
out.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
/**
* 把傳入的信息,保存成文件
* @param finfo 傳入的文件內(nèi)容信息
* @param fname 目標路徑和文件名
*/
public void writeFile(String finfo,String fDest){
File file = new File(fDest);
if(file.exists()){
file.delete();
}
PrintWriter out = null;
try {
out = new PrintWriter(new BufferedWriter(new FileWriter(fDest)));
out.write(finfo);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(out !=null){
out.close();
}
}
}
/**
* 讀取文本型文件
* @param name
* @return
*/
public String readFile(String fname){
File file = new File(fname);
StringBuilder bild = new StringBuilder();
BufferedReader in = null;
if(file.exists()){
try {
in = new BufferedReader(new FileReader(fname));
String strRet;
while((strRet=in.readLine()) != null){
bild.append(strRet);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(in != null){
try {
in.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}else{
System.out.println(fname + "不存在");
}
return bild.toString();
}
}
數(shù)據(jù)訪問層
public class NewsDao {
/**
* 讀取數(shù)據(jù)庫中要生成的新聞信息
* @return
*/
public List<News> getAllNews(){
CharStreamIO io = new CharStreamIO();
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<News> newsList = new ArrayList<News>();
News n1 = new News();
n1.setCategory("sport");
String c1 = io.readFile("NewsInfo\\news1.txt");
n1.setNewsContent(c1);
n1.setPubTime(sd.format(new Date()));
n1.setTitle("深足教練組:說我們買球是侮辱 朱廣滬常暗中支招");
News n2 = new News();
n2.setCategory("hot");
String c2 = io.readFile("\\NewsInfo\\news2.txt");
n2.setNewsContent(c2);
n2.setPubTime(sd.format(new Date()));
n2.setTitle("對對對發(fā)發(fā)發(fā)失誤失誤");
newsList.add(n1);
newsList.add(n2);
return newsList;
}
}
業(yè)務邏輯層
public class NewsBiz {
/**
* 讀取數(shù)據(jù)庫中要生成的新聞信息
* @return
*/
public void createAllNews() throws Exception{
NewsDao dao = new NewsDao();
List<News> newsList = dao.getAllNews();
String destPath = "/News/newspages";
for(int i=0;i<newsList.size();i++){
//讀取模板
CharStreamIO io = new CharStreamIO();
String tmp = io.readFile("/News/news.tmp");
//替換模板中的參數(shù)數(shù)據(jù)
News n = newsList.get(i);
String newTmp;
newTmp = tmp.replace(TemplateParam.TITLE, n.getTitle());
newTmp = newTmp.replace(TemplateParam.CATEGORY,n.getCategory());
newTmp = newTmp.replace(TemplateParam.PUB_TIME,n.getPubTime());
newTmp = newTmp.replace(TemplateParam.CONTENT, n.getNewsContent());
//把替換后的內(nèi)容保存成新聞頁面
io.writeFile(newTmp, destPath + "/news-" + i + ".html");
}
}
}
TemplateParam類
public class TemplateParam {
public static final String TITLE = "%{title}%";
public static final String CATEGORY = "%{category}%";
public static final String CONTENT = "%{newsContent}%";
public static final String PUB_TIME = "%{pubTime}%";
}
用戶接口層
public class NewsTest {
public static void main(String[] args) {
NewsBiz biz = new NewsBiz();
try {
biz.createAllNews();
System.out.println("新聞頁面創(chuàng)建完畢!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是html實現(xiàn)頁面靜態(tài)化的案例的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!
網(wǎng)站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產(chǎn)和維護的網(wǎng)站。