收录日期:2019/08/19 21:14:18 时间:2016/06/08 13:31:49 标签:Web 开发
高手请指教
我现在正在做一个cms系统,想要生成静态页面。要生成静态页面可能还需要模板之类的,可是又不知道存储模板的时候都要把这个模板的什么东西存到数据库里,就是需要些什么字段,另外怎么把数据输入到模板里,而让它生成静态页面呢
学习
先做个静太的模板页,然后用下面这个类去读取它
ReadTemplates.java 

package ball.news; 
import java.io.*; 
import java.util.*; 

public class ReadTemplates 


private String temp = null; 
private Object a = new Object(); 

public ReadTemplates() 



public String getTlpContent(String s) 


if(temp == null) 
synchronized(a) 

if(temp == null) 
try 

System.out.println("----------------------------"); 
temp = a(s); 
//System.out.println("test the temp"+temp); 

catch(Exception e) 

System.out.println("get tlpconente error"+e.getMessage()); 


return temp; 


private synchronized String a(String s) 


String s1 = null; 
try 

FileInputStream fileinputstream = new FileInputStream(s); 
int i = fileinputstream.available(); 
byte abyte0[] = new byte[i]; 
fileinputstream.read(abyte0); 
fileinputstream.close(); 
s1 = new String(abyte0); 

catch(IOException e) 

System.out.println("ioexception error"+e.getMessage()); 

return s1; 




再把读取到的模板中的你想要替换掉的比如新闻标题,内容等的东西替换掉,用下面这个类
 
package ball.news;
import java.io.*;
import news.ReadTemplates;
public class  ReplaceAll
{
 private static Object a = new Object();
 public ReplaceAll()
 { 
 }

 public String replace(String content,String flag,String temp)
 {
  String str = null;
  
        try
        {
         //System.out.println("before-----"+content);
         String s1 = content;
            str = s1.replaceAll(flag,temp);  
           // System.out.println("replace after-----"+str);
        }
        catch(Exception e)
        {
         System.out.println("replace all error:"+e.getMessage());
        }
        return str;
        
    }
    private static void a(String s)
    {
        File file = new File(s);
        if(!file.exists())
            file.mkdirs();
    }
}

然后生成HTML
WriteHtml.java 

package ball.news; 

import java.io.*; 

public class WriteHtml 


public WriteHtml() 



public static void save(String s, String s1, String s2) 


try 

a(s1); 
FileOutputStream fileoutputstream = new FileOutputStream(s1 + s2); 
byte abyte0[] = s.getBytes(); 
fileoutputstream.write(abyte0); 
fileoutputstream.close(); 

catch(IOException e) 

System.out.println("write html error"+e.getMessage()); 



private static void a(String s) 

try 

File file = new File(s); 
if(!file.exists()) 
file.mkdirs(); 

catch (Exception e) 

System.out.println("mkdirs error!"+e.getMessage()); 



有点似懂非懂,还是不知道模板是怎么回事。高手请指点。
创建一个model然后在这个文件中把要替换的位置用一种特殊符号进行标志,然后使用模版生成静态页面的时候,读取这个model文件 ,然后把内容替换特殊标志的位置,然后生成静态页面。
可是怎么创建模板呢,我倒是从网上下了几个模板了,可是就是不会用,这个模板也应该存到数据库吧。可是都要存些什么呢,
在ReadTemplates.java 这个文件里,temp就代表了模板的名字吗。

不好意思,我比较笨,说具体一点好吗。
我把三个文件自己建了一下,好像明白了,不过毕竟没用过,

这些类具体怎么调用,参数指的是什么还是有点一知半解,

另外生成一次静态页面就要读一次模板吗
为什么没有人理我?????!!!!!!!!!!!!

帮顶一下吧,苦恼啊
帮顶,没开发过cms,楼主多google下
JF
网上的模板只是半成品,你要根椐你的数据库内容及模板调用方式进行修改后才能用的。
模板技术只是个大概的方向,实现的方案多得很。
多谢各位捧场,也是听很多人说实现起来有很多方式,但是我做的这个cms必须要用struts的。还有模板什么的,我倒听说有一种velo…什么来着,不过它是一种mvc框架,和struts有点冲突吧。所以第一次做,先把简单的做起来吧。

网上看了很多,模板似乎是以html形式存在的

大侠们有更多好的看法,麻烦分享一下吧。谢谢
欢迎做过CMS的朋友加入我们的开发队伍!(北京)

liugezhang@hotmail.com
UP UP UP
顶起来
最近工作太忙了,要收工了,回来大家详聊~
CMS,文件替换
velocity试试
或者 fastm 
 
 
jetspeed

提议,永久关闭灌水乐园,树立CSDN人人专注于技术的好风气~~~~~~~~~~~~ 怎样在字符串里加双引号,如String ttt=\" \"xxx\",休息了!\". 以前的贴子有问题(某公司招工程师的回复) 操,受不了了 请问在pb8.0下如何打开pb6.5下用sqlanywhere建立的数据库? 多层系统中怎样计算程序的roundtrip?? help me 各位大虾 Dbgrid下拉框怎么生成 蝈蝈,我问个问题! 请问如何设置List控件行间距 快来拿分,先到先得! 请问哪里有生成安装程序的软件的帮助文件或者网站? 在单位开发的软件版权如何算? 请问怎样用isapi作新闻更新的网页? 如何将oracle中的数据导入到Access数据库中? 电脑不行了? 关于Close的一个问题 在windows2000中的硬盘保护卡(有没有软件能实现同一效果的) vb中是否支持字符的位操作? vb中是否支持字符的位操作?与,或,与或,左移位,右移位的操作符是什么? turbo c 图形程序运行条件问题 奶牛站 请问这段C代码如何翻译成Java?一定给分。 沧浪兄,代码不多,请斧正!(代码在VBA中通过,在VB中报错) 我刚开始学delphi,请大虾们帮我看看哪儿错了. 孤独的人来报名! 一个不能理解的BCB问题 求教:一个比较复杂的sql语句 小弟刚学delphi,请大虾们推荐几本好书谢谢 win98启动后天网防火墙提示有kernel32.dll访问网络允许后既死机了,请各位多多帮忙啊!!!