i don't understand what are you want to do.

解决方案 »

  1.   

    struts生成带有日期目录的静态页面
    需要一个模板temp.html,一个提交页面index.jsp, 一个actionform, 一个action,一个时间bean
    具体如下:
    1 temp.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>#title#</title>
       
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
       
        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  </head>
     
      <body>
       <table width="380" height="107" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFCC99">
      <tr>
        <td height="16" bgcolor="#FFCC99"><div align="center">#title#</div></td>
      </tr>
      <tr>
        <td bgcolor="#FFFFFF">#content#</td>
      </tr>
     
    </table>
      </body>
    </html>2 index.jsp
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
     
    <html>
        <head>
            <title>JSP for CreateForm form</title>
        </head>
        <body>
            <html:form action="/create">
                title : <html:text property="title"/><html:errors property="title"/><br/>
                content : <html:textarea property="content"/><html:errors property="content"/><br/>
                <html:submit/><html:cancel/>
            </html:form>
        </body>
    </html>3:
    actionform
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package cn.edu.nankai.tecpenguin.struts.form;import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;/**
     * MyEclipse Struts
     * Creation date: 11-03-2007
     *
     * XDoclet definition:
     * @struts.form name="createForm"
     */
    public class CreateForm extends ActionForm {
        /*
         * Generated fields
         */    /** title property */
        private String title;    /** content property */
        private String content;    /*
         * Generated Methods
         */    /**
         * Method validate
         * @param mapping
         * @param request
         * @return ActionErrors
         */
        public ActionErrors validate(ActionMapping mapping,
                HttpServletRequest request) {
            // TODO Auto-generated method stub
            return null;
        }    /**
         * Method reset
         * @param mapping
         * @param request
         */
        public void reset(ActionMapping mapping, HttpServletRequest request) {
            // TODO Auto-generated method stub
        }    /**
         * Returns the title.
         * @return String
         */
        public String getTitle() {
            return title;
        }    /**
         * Set the title.
         * @param title The title to set
         */
        public void setTitle(String title) {
            this.title = title;
        }    /**
         * Returns the content.
         * @return String
         */
        public String getContent() {
            return content;
        }    /**
         * Set the content.
         * @param content The content to set
         */
        public void setContent(String content) {
            this.content = content;
        }
    }
    4 action(实现部分)
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package cn.edu.nankai.tecpenguin.struts.action;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import cn.edu.nankai.tecpenguin.struts.form.CreateForm;
    import cn.edu.sdau.jiahaolin.time.*;import java.io.*;/**
     * MyEclipse Struts
     * Creation date: 11-03-2007
     *
     * XDoclet definition:
     * @struts.action path="/create" name="createForm" input="/index.jsp" scope="request" validate="true"
     */
    public class CreateAction extends Action {
        /*
         * Generated Methods
         */    /**
         * Method execute
         * @param mapping
         * @param form
         * @param request
         * @param response
         * @return ActionForward
         */
        public ActionForward execute(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response) throws Exception {
           
            CreateForm createForm = (CreateForm) form;// TODO Auto-generated method stub
            ServerTime time=new ServerTime();
            String path=time.date();
            String title=createForm.getTitle();
            String content=createForm.getContent();
            String filePath = request.getRealPath("/");
            filePath=filePath+path;
            File addpath=new File(filePath);
            if(addpath.exists()){
               
            }else{
            addpath.mkdir();
            }
            String tem_path = request.getRealPath("/")+"temp.html";
            String templateContent=null;
            //ServerTime time=new ServerTime();
            try{
            FileInputStream fileinputstream = new FileInputStream(tem_path);
              int lenght = fileinputstream.available(); //available() 返回可以不受阻塞地从此文件输入流中读取的字节数。
            byte bytes[] = new byte[lenght];
           
            fileinputstream.read(bytes); //read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个字节数组中。
            fileinputstream.close();
            templateContent = new String(bytes);
            templateContent=templateContent.replaceAll("#title#",title);
            //templateContent=templateContent.replaceAll("#author#",editer);//替换掉模块中相应的地方
            templateContent=templateContent.replaceAll("#content#",content);
    //        templateContent = new String(bytes);
            String a=null;
              a=Long.toString(time.second())+".html";
             String fileame = filePath+"/"+a;//生成的html文件保存路径
             FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流
             byte tag_bytes[] = templateContent.getBytes();
            fileoutputstream.write(tag_bytes);
            fileoutputstream.close();
            //return null;
            return mapping.findForward("success");
            }catch(Exception e){
                //return null;
                e.printStackTrace();
            return mapping.findForward("error");
            }
        }
    }5
    package cn.edu.sdau.jiahaolin.time;import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Calendar;
    public class ServerTime
    {
        
        public long second()
        {
            Date date = new java.util.Date();
            long second = date.getTime() / 1000L;
            return second;
        }
         public static String date()throws Exception
        {
            String date = null ;
            try{Calendar cal = Calendar.getInstance();
             SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
             date = formatter.format(cal.getTime());}
            catch(Exception e){}
             return date;
        }
         public static String datetime()throws Exception
        {    String date=null;
            try{Calendar cal = Calendar.getInstance();
            //SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
             date = formatter.format(cal.getTime());}
            catch(Exception e){}
            return date;
       }
        public String returndate()throws Exception
            {
        String returndate = date();
        return returndate;
            }
       }
      

  2.   

    非常感谢你提供的代码,可是我是个初学者,看的不怎么懂,希望你能提供一个完整的例子
    还希望您能留下你的联系方式,想和你进一步交流!
    我的QQ:78998840
       emai:[email protected]
      

  3.   

    对了!把动态的JSP转化成静态的HTML的话那种内容分页的效果能达到吗?