freemarker와 함께 java를 사용하여 FTL (템플릿 파일) 및 XML을 통해 HTML 파일을 생성합니다. 여러 파일에서 결과를 얻었지만 각 파일에는 전체 결과가 포함되어 있습니다. 각 파일에 자체 결과가 포함되기를 원합니다. 당신에게 자세한 내용을주고 내 자바 코드의이 부분을 살펴보고 : 당신의 도움에 대한FileWriter에서 Java의 여러 파일에 문제가 발생했습니다.
static void freemarkerDo(Map datamodel, String template) throws Exception{
try {
File file = new File("Avis.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement().normalize();
NodeList nodeLst = doc.getElementsByTagName("Avis");
Configuration cfg = new Configuration();
Template tpl = cfg.getTemplate(template);
for (int s = 0; s < nodeLst.getLength(); s++) {
Node fstNode = nodeLst.item(s);
if (fstNode.getNodeType() == Node.ELEMENT_NODE) {
Element fstElmnt = (Element) fstNode;
NodeList flNmElmntLst = fstElmnt.getElementsByTagName("Filename");
Element flNmElmnt = (Element) flNmElmntLst.item(0);
NodeList flNm = flNmElmnt.getChildNodes();
FileWriter writer = new FileWriter(((Node) flNm.item(0)).getNodeValue()+".html");
try {
tpl.process(datamodel, writer);
}
finally{
writer.close();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
감사합니다 (이 솔루션은 너무 쉽게해야하지만 난 그것을 찾을 수 없습니다).
나는 당신이하려는 것을 매우 혼란스럽게 생각합니다. 각 파일마다 고유 한 결과를 원한다면 무엇을 의미합니까? 각 파일은 데이터 모델을 소유해야합니까? – Andy