研究hibernatesynchronizer的源碼,看到他將velocity模板和編譯的類一起打包在jar包中,在獲得模板時使用
          Xobject.class.getClassLoader().getResourceAsStream("/templates/xx.vm")獲得流,然后再將轉(zhuǎn)變成字符串
          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();
          ??????? }
          ??? }
          最后調(diào)用velocity的方法
          Velocity.evaluate(Context context, java.io.Writer out, java.lang.String logTag, java.lang.String instring)
          從而生成文件。居然不知道velocity有這樣的方法,挺無知的,為了路徑焦頭爛額,終于得解了。總結(jié)一下技巧:
          1、Xobject.class.getClassLoader().getResourceAsStream("/templates/xx.vm")相對路徑獲得流;
          2、Velocity.evaluate(...)方法使用;
          posted on 2006-11-28 14:21 野草 閱讀(3078) 評論(0)  編輯  收藏 所屬分類: 2shtv
          主站蜘蛛池模板: 简阳市| 建平县| 呼玛县| 兰坪| 如皋市| 中卫市| 平利县| 田东县| 龙江县| 墨脱县| 巫溪县| 伊春市| 蕲春县| 旬阳县| 将乐县| 扶绥县| 肥东县| 习水县| 大兴区| 洮南市| 闽清县| 漳浦县| 光泽县| 淮南市| 正定县| 会东县| 齐河县| 海盐县| 阜城县| 白河县| 乌兰浩特市| 楚雄市| 永城市| 英吉沙县| 澄城县| 汝南县| 永和县| 东兴市| 措美县| 芜湖县| 梧州市|