收录日期:2019/12/09 21:49: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

表列的数量是否直接响查询速度 如何用java语言实现端口扫描器 2009第一贴,散发攒祝福,hoho~~~~ vb查询语法错误iif(sql2000) 哪位大哥能给个i/o中 复制文件和文件夹的实例 文字复制 急 在线等 明天就要回家了。 Delphi链接ACCESS数据库问题(有代码) 年初加班贴 09了,依然奋斗在前线 元旦了,同学都休息,就我一个写程序,不爽,散分 急,,管道获取子进程输出的奇怪问题 高读定位在自适应 急需bcb 帮助文件 新一年,新的开始! start with ... connect by 层次查询的用法报错:ORA-01436: CONNECT BY loop in user data SQL 急 谁能给我讲下呀 为了学C语言买单片机可以吗? 触发器中如何获取说修改的行的信息 隐式链接dll,当应用程序调用完dll中某个函数,是否会自动free这个dll?即这个dll是否会释放内存。隐式链接与显式链接,效率怎样? 程序员的梦 元旦快乐 org.hibernate.StaleStateException: Unexpected row count: 0 expected: 1 留言评论应该注意什么? 一篇文单中的图片是随文章一起放到数据库还是直接放相应文件夹? 哪里可以找到嵌入式兼职 不同id调用相同的函数如何取得各自的值,请教 求教一个MFC的小问题 谁有jquery 的资料啊 (最好是例子,详细怎么用的) 元旦!有多少人像我一样宅在家里?还有加班的么?