研究hibernatesynchronizer的源碼,看到他將velocity模板和編譯的類一起打包在jar包中,在獲得模板時使用
          Xobject.class.getClassLoader().getResourceAsStream("/templates/xx.vm")獲得流,然后再將轉變成字符串
          public static String getStringFromStream(InputStream is) throws IOException {
          ??????? if (null == is)
          ??????????? return null;
          ??????? try {
          ??????????? InputStreamReader reader = new InputStreamReader(is);
          ??????????? char[] buffer = new char[1024];
          ??????????? StringWriter writer = new StringWriter();
          ??????????? int bytes_read;
          ??????????? while ((bytes_read = reader.read(buffer)) != -1) {
          ??????????????? writer.write(buffer, 0, bytes_read);
          ??????????? }
          ??????????? return (writer.toString());
          ??????? } finally {
          ??????????? if (null != is)
          ??????????????? is.close();
          ??????? }
          ??? }
          最后調用velocity的方法
          Velocity.evaluate(Context context, java.io.Writer out, java.lang.String logTag, java.lang.String instring)
          從而生成文件。居然不知道velocity有這樣的方法,挺無知的,為了路徑焦頭爛額,終于得解了。總結一下技巧:
          1、Xobject.class.getClassLoader().getResourceAsStream("/templates/xx.vm")相對路徑獲得流;
          2、Velocity.evaluate(...)方法使用;
          posted on 2006-11-28 14:21 野草 閱讀(3078) 評論(0)  編輯  收藏 所屬分類: 2shtv
          主站蜘蛛池模板: 南阳市| 杭州市| 民县| 广饶县| 潮州市| 卢龙县| 临湘市| 鹤庆县| 泾源县| 辰溪县| 潮州市| 苍溪县| 永福县| 平舆县| 五指山市| 崇州市| 丹棱县| 中牟县| 嘉禾县| 芦溪县| 台东市| 安化县| 盐城市| 普兰店市| 皋兰县| 内乡县| 台东市| 上蔡县| 东港市| 大渡口区| 洪泽县| 理塘县| 乌什县| 镇平县| 望谟县| 凤翔县| 新竹市| 伊宁县| 且末县| 报价| 历史|