悬赏20:给java.class文件添加一个可以随时修改参数的前端

package service;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import servlet.FreeMarkServlet;
import sun.misc.BASE64Encoder;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;

/**

  • 使用freemark生成word
  • @author stormwy */

public class Freemark {

public static void main(String[] args){
    Freemark freemark = new Freemark("/template");

// freemark.setTemplateName("wordTemplate.ftl");
freemark.setTemplateName("word1.ftl");
freemark.setFileName("word6"+".docx");
freemark.setFilePath("WebContent/resources/");
freemark.createWord();
}

public void createWord(){

    Template t = null;
    try {
        t = configuration.getTemplate(templateName);
    } catch (IOException e) {
        e.printStackTrace();
    }

    File outFile = new File(filePath+fileName);
    Writer out = null;
    try {
        out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile), "UTF-8"));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
//  FreeMarkServlet pro = new FreeMarkServlet();  

    Map<String, Object> map = new HashMap<String, Object>();

    map.put("date1", bianxieren);
    map.put("date2", shenpiren);
    map.put("date3", bianxie);
    map.put("date4", shenpi);
/*  map.put("image", getImageStr());

    map.put("SEX", "男");
    map.put("BIRTH", "1987-08");
    map.put("ZZMM", "党员");

      */

    try {
        t.process(map, out);
        out.close();
    } catch (TemplateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}
/**
 * freemark初始化
 * @param templatePath 模板文件位置
 */
public Freemark(String templatePath) {
    configuration = new Configuration();
    configuration.setDefaultEncoding("utf-8");
    configuration.setClassForTemplateLoading(this.getClass(),templatePath);     
}   
//插入图片
/*private String getImageStr() {
    String imgFile = "D:/hanmanyi/pic/111.jpg";
    InputStream in = null;
    byte[] data = null;
    try {
        in = new FileInputStream(imgFile);
        data = new byte[in.available()];
        in.read(data);
        in.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    BASE64Encoder encoder = new BASE64Encoder();
    return encoder.encode(data);
}*/

/**
 * freemark模板配置
 */
private Configuration configuration;
/**
 * freemark模板的名字
 */
private String templateName;
/**
 * 生成文件名
 */
private String fileName;
/**
 * 生成文件路径
 */
private String filePath;

public String getFileName() {
    return fileName;
}

public void setFileName(String fileName) {
    this.fileName = fileName;
}

public String getFilePath() {
    return filePath;
}

public void setFilePath(String filePath) {
    this.filePath = filePath;
}

public String getTemplateName() {
    return templateName;
}

public void setTemplateName(String templateName) {
    this.templateName = templateName;
}

}
图片说明这块是要修改的参数

那个freeMark是一个自己可以运行的的文件,他的功能是可以修改一部分参数,生成一个word文档,但是修改参数的时候必须在文件里修改,所以我就想能不能通过页面输入值给它修改

我自己弄个了简单的前台,我想用前台把值传给这个freeMark,请教了别人,说需要通过servlet,我吧值能传给servlet,但是死活不会从servlet吧值传给freeMark.java了

3个回答







 你的方法设个参数啊,调用的时候,设置好Map调用就行了
 createWord(Map<String, Object> map)
weixin_40478037
weixin_40478037 给你发的私信,麻烦看一下,我是小白,不是太懂,能不能留一下联系方式
一年多之前 回复

Freemark通过main肯定不行,这个的用其他生成脚本调用,或者用页面方式传递参数调用

weixin_40478037
weixin_40478037 给你发了私信,麻烦看一下,我是小白,不是太懂,能不能留一下联系方式
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JAVA.class文件的反编译插件
可以反编译出对应的class文件,得到了高效的便捷的准确的编译结果
java.class文件的反编译器
对于想了解Java源代码的同志可以来下载,包括各种.jar包里面的.class文件只要反编译一下就可以看到源代码了,非常好用(⊙o⊙)哦!
java.class文件反编译器
java.class文件反编译器,很好用
java.class文件反编译工具【免费】
应用于class、java等各种文件的反编译操作,文件小巧易用
java.class 反编译工具
可以直接查看jar包中的class文件 以及单个的class 文件 无需安装 解压即用
可以给一个图片文件添加一个自定义的属性吗?
如添加一个自定义的"content"属性用于存放一些说明性的文字。rnrn不想写到数据库中,所以请问各位有否办法直接添加或修改图片物理文件的属性来实现rn
悬赏高手的高手修改通达OA参数
在通达2010中订单管理的小数点只能保留小数点后两位,那位坛内高手可以修改,请加我QQ:839465130,可得赏金奖赏。
给列表文件添加内存和修改时间显示
首先在vendor/mediateck/proprietary/packages/apps/FileManager/res/values/strings.xml中添加字符串显示 %1$d item %1$d items 在vendor/mediateck/proprietary/packages/apps/FileManager/res/values-zh-rCN/string
给800分悬赏一个例子!
谁能给俺写一个完整的例子,留言本之类的就可以!其中要采用一个组件(组件要有自己的源代码,DELPHI写的为佳,组件是用来连接数据库或者生成页面的,反正功能越多越好),要求要采用数据库技术,能够搜索,为了减少数据库服务器的负载,前台要求生成完全静态的页面,要有完整的后台管理功能:如删除等:),如果例子很好,我可以给1000分:)
socket两程序间,随时发,随时收?高分悬赏!!!!
有两个console程序,它们实现了一条信息的收发功能,现在在两程序里分别加入了while循环以实现随时收发,但是收信息一方只能收到第一条发过去的信息。请各们大侠指点迷津,不胜感激。rn
前端-20
玩转Python开发系列(包括Python语言基础、Linux基础、数据库(MySQL、MongoDB、Redis)、前端、Django、Flask、Tornado、爬虫、微信公众号)目的是使学员可以成为Python初级开发工程师
Eclipse常用快捷键【随时添加】
ctrl+H:在整个项目中查找该方法在哪儿被使用;ctrl+alt+H:打开函数调用继承关系;
前端----使用jQuery给a标签添加、修改href链接
HTML代码: &lt;aid="qiaofeng"&gt;乔峰&lt;/a&gt; jQuery代码: $('#qiaofeng').attr('href','http://tianlongbabu.com'); 添加和修改都是上面的代码; OK, GAME OVER
java.class反编译工具
一款还不错的java.class反编译工具;挺实用。需要的可以下载下来。
前端面试题汇总(随时更新)
最近一段时间,我参加了前端工程师的面试,一面试就发现,有一些知识点是我没有注意的地方,这些知识点答不上来没关系,但最可怕的是这些知识点会忘在脑后,成为过眼云烟。因此,及时总结知识点,不仅可以随时查看,还可以成为日后进行前端开发工作和练习的参考,为我的前端开发上了一堂生动的一课。 其中的一道题是使用纯CSS如何实现下拉菜单的。为了实现这一目标,我参考了其他博客的示例,请看下图的菜单。 HTM...
给族添加实例参数
采用族管理的AddParameter方法
给SQL添加月份参数!
rn改动都在注释里说明了!希望你帮我改下!rn[code=SQL]rnrnrn----------Convert(nvarchar(7),t1.StateDate,120)as StateMonth 下面的SQL 把日期转换成月份 有点不安全,希望能改进rnrnALTER proc [dbo].[P_Prod_PoAndSalesMonth] rn(rn--希望改成只能输入月份rn @datetime varchar(30)=''rn)rn as rn begin rn declare @cur_datetime varchar (30)--本月初始化时间rn select @cur_datetime=case when @datetime = '' or @datetime is null then CONVERT(datetime,CONVERT(char(8),getdate(),120)+'1')rn else CONVERT(datetime,CONVERT(char(8),cast(case when len(@datetime)=7 or len(@datetime)=6 then @datetime+'-01' rn else @datetime end as datetime),120)+'1') end rn rn rn create table #rep (Id int identity(1,1), --序列号rn SkuNo varchar(60), --商品编号rn ProductName varchar(100), --商品名称rn StateMonth varchar(30),rn )rnrn --上月的数据汇总到临时表#t1 rn select t2.SkuNo,t2.ProductName,rn Convert(nvarchar(7),t1.StateDate,120)as StateMonth--新加了一个字段月份 rn into #t1 from Wms_StockDailyState as t1 left join V_Prod_Sku t2 on t1.SkuId=t2.SkuIdrn wherern ----参数@datetimern rn --这里希望月份大于上月初,小于本月rn --State>'2012-5 and state<'2012-7' 或者是State>'2012-05 and state<'2012-07'rn Convert(nvarchar(7),t1.StateDate,120)>'2012-5' andrn Convert(nvarchar(7),t1.StateDate,120)<'2012-7' rn group by t2.SkuNo,t2.ProductName,Convert(nvarchar(7),StateDate,120)rnrnrnrnrn rn --本月的数据汇总到临时表#t2 rn select t2.SkuNo,t2.ProductName,Convert(nvarchar(7),t1.StateDate,120)as StateMonthrn rn into #t2 from Wms_StockDailyState as t1 left join V_Prod_Sku t2 on t1.SkuId=t2.SkuIdrnwhere rn--这里改成 大于 本月初 ,小于本月末rn--也就是大于'2012-07'或者 2012-8rn --StateDate>=@cur_datetime and StateDate
VS2015给命令行添加参数
VS2015给命令行添加参数: 右键要添加命令行参数的工程->属性->配置属性->调试,右边有命令行参数输入框,输入即可。argv[0]是程序名,从argv[1]开始是输入的参数。个参数之间用空格进行分隔,当参数中含有空格时,要将参数用双引号括起来,否则空格不会被添加到参数中。
可以给tableview添加一个背景图片吗??
可以给tableview添加一个背景图片吗?? 如何添加 求代码!!!!~
如何给请求添加参数
服务器控件(如按纽)是提交给自己处理,怎么在代码中给请求添加上参数rn(比如在search.aspx.cs的中按纽事件中实现search.aspx.cs?page=0的效果)
可以给一个表变量添加触发器么?
[code=SQL]rndeclare @stuWp table rn(rnFrameID nvarchar(50),rnstuDate varchar(20),rnstuTotal floatrn)rn--stuDate是一个smalldatetime的值rninsert into @stuWp select FrameID,convert(varchar(10),datepart(year,stuDate))+convert(varchar(10),datepart(month,stuDate)),stuTotal from WPS_STUDENT_WP where ( convert(varchar(10),datepart(year,stuDate))+convert(varchar(10),datepart(month,stuDate))='201012')and(stuStudent = 'true') rn--可以这样写么? rncreate trigger del_stuWp on @stuWp for deletern asrn begin rn declare @frameID nvarchar(50)rn declare @stuTotal floatrn select @frameID=FrameID,@stuTotal=stuTotal from deletedrn update WPS_STUDENT_INFO set stuBalance -@stuTotal where (FrameID=@frameID)rn endrndelete from @stuWprn[/code]rn[code=SQL]rn消息 111,级别 15,状态 1,第 14 行rn'CREATE TRIGGER' 必须是查询批次中的第一个语句。rn[/code]
给一个mp3文件添加背景音乐
也就是 两个mp3混合成一个文件在一起播放
给一个新工程项目添加Podfile文件
给一个新工程项目添加Podfile文件。 常用的快捷方法; 1,在终端使用命令行,cd+文件名 —&amp;amp;gt; 进入文件工程中。 2,终端命令,pod init, 创建一个podfile文件。 3,完成上两个步骤之后,可以看到 此时,该podfile文件已经在工程中。 4,打开podfile进行编辑。。。 5,终端命令,pod update; 即可完成pod 的使用。 ...
MVC3 添加和修改共用一个视图文件
RT:rn该怎么操作呢?rn
“爱一个可以随时打扰的人”
01 如果一个人无论何时都能把你放在心上,对于感情若还有奢求那就太贪心了。 的确,有一个随时打扰,陪伴在你身边的人,比什么都重要。他的世界有一隅为你空着,也许你正在翻山涉水,历长夜凛冬,可你知你不孤单。 真正的感情就是如此,你的打扰是他的欢喜,他会第一时间放下手头的事,什么春风桃花,什么星光灿烂都不及你。 什么是幸福?如同旅人知道归家的灯为他留着,你知道有一个人永远可以倚靠着。 他会在黑夜中跟你彻...
移动gogs可以修改参数
移动gogs可以修改参数
一个效果很好的聊天界面,可以随时自定义
一个效果很好的聊天界面,可以随时自定义,支持监听正在输入,长按编辑等,一个优秀的聊天界面!
在servlet中给request添加参数,可以做到吗?
我的程序的流程是:rna.jsp --> servletA --> servletB --> b.jsprnrn我想在servletA中给request增加一个参数,然后再servletB中通过request.getParameter()取得这个参数,可以做到吗?rnrn我是这么做的:rn在servletA中:rnrequest.setAttribute("AAA","1");rnrn然后forward到servletB,rn在servletB中:rnrequest.getParameter("AAA");rnrn但是得到的是null,谁能帮忙解释一下?
可以发布悬赏么?
论坛上可以发布悬赏么?
字符类型操作 集合 随时添加
首先,在datagridview获取到值aaabbb,放到str中, textbox1.text=str.substring(0,3); textbox2.text=str.substring(3,3); substring(第一参数,第二参数)// 第一参数:从第几位开始截,初始是从0位开始 第二参数:截取几位 如果你不会获取值aaabbb: ...
随时添加删除附件问题?
rnrn下面的命令可以实现添加文件,并记录文件名到text2内,rn但我还想能够随时删除text2的内容,随时添加rn可是我点了cls按钮后,却不能再添加了?rn谁能帮忙给改改,或者有更好的代码和建议?rnPrivate Sub CmdAdd_Click()rn With CommonDialog1rn .InitDir = App.Path & "\data\0606"rn .DialogTitle = "打开"rn .CancelError = Falsern 'ToDo: 设置 common dialog 控件的标志和属性rn .Filter = "所有文件 (*.*)|*.*"rn .ShowOpenrn If Len(.FileName) = 0 Thenrn Exit Subrn End Ifrn End Withrn rn Dim i As Long, n As Longrn n = Text2.UBoundrn If n > 4 Then End '最多添加6个附件rn For i = 0 To nrn If Len(Text2(i).Text) = 0 Thenrn Exit Forrn End Ifrn Next '检查有没有空白文件rn If i > n Thenrn Load Text2(i)rn Text2(i).Visible = Truern Text2(i).Move Text2(i - 1).Left, Text2(i - 1).Top + Text2(i - 1).Height + 90rn rn Load Cmdcls(i)rn Cmdcls(i).Visible = Truern Cmdcls(i).Move Cmdcls(i - 1).Left, Cmdcls(i - 1).Top + Cmdcls(i - 1).Height + 50rn End Ifrn FileNumber = irn rnEnd SubrnrnPrivate Sub Cmdcls_Click(Index As Integer)rnText2(Index).Text = ""rnEnd Subrn
谁知道如何读取和修改一个文件的文件头或文件的某一部分,给20分
我想要读取和修改一个mpg文件的文件头,给20分
maven在MANIFEST.MF文件添加参数
前言在接触了lombok之后由于对实现机制感兴趣,所以就开始学习Java agent,可是由于需要在MANIFEST.MF增加一些参数,所以就去maven的官网找相关资料。MANIFEST.MF简介MANIFEST.MF用于定义扩展和包相关数据的清单文件。 注意事项: 1. MANIFEST.MF中的数据是以key: value [value1 value2]形式存储 2. 冒号必须是英语的冒
一个可以模拟IDE 的 文件 怎么修改?
unit AntiIDEOnly;rnrninterfacernrnusesrn Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;rnrntypern TAppBuilder = class(TForm)rn end;rn TAlignPalette = class(TForm)rn end;rn TPropertyInspector = class(TForm)rn end;rn TPalette = class(TForm)rn end;rn TProjectManagerForm = class(TForm)rn end;rn TMenuBuilder = class(TForm)rn end;rnrnconstrn IDECaption =rn$IFDEF VER100rn 'Delphi 3'rn$ENDIFrn$IFDEF VER120rn 'Delphi 4'rn$ENDIFrn$IFDEF VER130rn 'Delphi 5'rn$ENDIFrn$IFDEF VER140rn 'Delphi 6'rn$ENDIFrn$IFDEF VER150rn 'Delphi 7'rn$ENDIFrn ;rnrnvarrn FakeApplication: TApplication;rn FakeAppBuilder: TAppBuilder;rn FakeAlignPalette: TAlignPalette;rn FakePropertyInspector: TPropertyInspector;rn FakePalette: TPalette;rn FakeProjectManagerForm: TProjectManagerForm;rn FakeMenuBuilder: TMenuBuilder;rnrnimplementationrnrn$R AppBuilder.dfmrn$R AlignPalette.dfmrn$R PropertyInspector.dfmrn$R Palette.dfmrn$R ProjectManagerForm.dfmrn$R MenuBuilder.dfmrnrnprocedure CreateFakeIDE;rnbeginrn FakeApplication := TApplication.Create(nil);rn FakeApplication.Title := 'DELPHI' ;rn FakeAppBuilder := TAppBuilder.Create(nil);rn FakeAlignPalette := TAlignPalette.Create(nil);rn FakePropertyInspector := TPropertyInspector.Create(nil);rn FakePalette := TPalette.Create(nil);rn FakeProjectManagerForm := TProjectManagerForm.Create(nil);rn FakeMenuBuilder := TMenuBuilder.Create(nil);rnend;rnrnprocedure DestroyFakeIDE;rnbeginrn FakeApplication.Free;rn FakeAppBuilder.Free;rn FakeAlignPalette.Free;rn FakePropertyInspector.Free;rn FakePalette.Free;rn FakeProjectManagerForm.Free;rn FakeMenuBuilder.Free;rnend;rnrninitializationrn CreateFakeIDE;rnfinalizationrn DestroyFakeIDE;rnend.rnrnrnmmtools控件的单元中,添加uses AntiIDEOnly就行了,编译运行后就不再需要每次打开delphi了才能运行了,做音频的朋友们,试试吧,我已将其附的样例程序运用此方法编译了一次,全部OK,没有任何使用上的限制。rnrn但是现在对付 2.5 版本不能用了啊rn想把这个文件修改成rn类名称为tappbuilderrn title 名字为 DELPHI rn
高分悬赏启动参数问题
程序Irregular.exe已经运行通过GetModuleFileNameEx取得其路径存放在char path[MAX_PATH]中,且该程序有启动参数:cpwrn请问高手,这时该如何启动此程序???麻烦给出代码,或者其他启动方法,如果成功启动高分奖励!!!rnrn要实现的效果其实很明确,就是不知道目标程序路径,首先是手动启动目标程序,然后编程取得目标路径,最后启动之!当然这个目标是有启动参数的!rnrn在线等结果!!!
java.class反编译软件
非常好用的java反编译软件,可以反编译.class文件 查看其内源代码,本人的.class找了好几种都不能反编译但是用这个软件一下就解开了。试试就知道了不会后悔的!
java.class文件结构学习
1. u1,u2,u3,u4 表示 1字节,2字节,3字节,4字节 class文件 类型     名称     数量 u4     magic     1 u2     minor_version     1 u2     major_version     1 u2     constant_pool_count     1 cp_info     constant_pool  
给Windows文件添加标签
如果你不喜欢或者不擅长给文件创建各种各样层次的文件夹,如果你经常忘记自己的文件放在什么地方,如果你喜欢用标签来管理文件,那么file metadata这款软件将非常适合你。
给DefView添加文件对象
IShellFolder *ppshf = NULLrnSHGetDesktopFolder(&ppshf);rnppshf->ParseDisplayName(NULL,NULL,OLESTR("C:\\test.doc"), NULL, &pidl, &dwAttributes);rnrnShellFolderView_AddObject(hwd, (LPARAM) pidl);rnrnrn为什莫在explore右侧的DefView中,被添加的项目没有显示出来呢?
C#给文件添加标识
我有一个程序,能够导出SQL文件。在导入文件的时候我要判定只有我之前导出的SQL才能够运行,如何实现呢?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件

相似问题

1
unity导入太多sdk之后安卓打包报错?TransformException: java.util.zip.ZipException
3
java filter 字符过滤功能:java.lang.NoClassDefFoundError.
0
java.lang.ClassNotFoundException: org.mortbay.jetty.Connector 这是什么错误啊?
1
Error querying database. Cause: java.lang.NullPointerException
2
按照第一行代码上打酷欧天气提示我 Value Request of type java.lang.String cannot be converte
3
Exception in thread "main" java.lang.NoClassDefFoundError,有导入对应jar包,但显示无法找到对应类?
3
eclipse中用tomcat部署maven项目,运行报错,求解决思路?
3
java.io.FileNotFoundException: NUL: (系统找不到指定的文件。)
2
程序报错,求助大佬Caused by: java.lang.LinkageError: loader constraint violation
1
java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available
0
Mybaits调用存储过程报错There is no setter for property named 'result' in 'class java.lang.Class'
1
java.net.MalformedURLException: unknown protocol: jrt
0
log4j:ERROR Could not instantiate class 报错
2
springboot报错java.lang.NoClassDefFoundError
2
springboot找不到OracleDriver,求大神解决(Cannot load driver class: oracle.jdbc.driver.OracleDriver)
3
此处为啥一直报找不到文件的异常:java.io.FileNotFoundException: Template "contextxml.ftl" not found.
3
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.beans.PropertyDescriptor"错误
1
Exception in thread "main" java.lang.NoClassDefFoundError:
1
springboot项目启动报nested exception is java.io.FileNotFoundException
1
weblogic启动报错java.lang.NoClassDefFoundError: weblogic/security/SecurityLogger