현재 위치 - 인적 자원 플랫폼망 - 기밀 정보 정보 - freemarker를 사용하여 단어를 내보낼 때 내보낸 단어 형식을 변경하는 방법을 아는 사람이 있습니까? 기본값은 doc 형식입니다.
freemarker를 사용하여 단어를 내보낼 때 내보낸 단어 형식을 변경하는 방법을 아는 사람이 있습니까? 기본값은 doc 형식입니다.

내보낼 Word를 xml 형식의 파일로 저장한 후 xml을 열고 freemarker 태그를 추가한 후 outChairDoc.ftl 파일로 저장합니다.

첫 번째 단계는 Freemarker.jar 패키지를 추가하는 것입니다.

서블릿 코드는 다음과 같습니다. cn.skyclass.jiaowu.freemarker.template 패키지 아래에 outChairDoc.ftl을 넣습니다.

public void doGet(HttpServletRequest request, HttpServletResponse response)

< p> throws ServletException, IOException {

구성 = 새 Configuration();

configuration.setDefaultEncoding("utf-8");

try {

p>

createDoc(response);

} catch (예외 e) {

// TODO 자동 생성된 catch 블록

e.printStackTrace( );

}

}

public void createDoc(HttpServletResponse 응답)에서 예외가 발생합니다. {

// 채우기 템플릿 데이터 파일에서

지도 dataMap = new HashMap();

dataMap.put("docTitle", "fdfdfdfdfdfdfuser information");

List< ChairInfo> list = new ArrayList();

ChairInfo ChairInfo = new ChairInfo();

ChairInfo.setChairTitle("dfdfd");

chairInfo.setTeacherName("tea");

chairInfo.setStartTime(new Date());

chairInfo.setPlace("dfdfd");

목록 .add (chairInfo);

dataMap.put("chairInfoList", list);

// 템플릿 장치 방법 및 경로를 설정합니다. FreeMarker는 다양한 템플릿 로딩 방법을 지원합니다.

서블릿, 클래스 경로 및 데이터베이스를 다시 로드할 수 있습니다.

// 여기서 템플릿은 com.havenliu.document.template 패키지 아래에 배치됩니다.

configuration.setClassForTemplateLoading(this.getClass() ,

"/cn/skyclass/jiaowu/freemarker/template");

템플릿 t = null;

시도해 보세요 {

// test.ftl은 로드할 템플릿입니다.

t =configuration.getTemplate("outChairDoc.ftl");

t.setEncoding("utf-8");< /p> p>

} catch (IOException e) {

e.printStackTrace();

}

// 출력 문서 경로 및 이름

String fileName="강의 목록.doc";

response.setContentType("application/msword");

response.addHeader("Content-Disposition ", " attachmentname=" + java.net.URLEncoder.encode(fileName, "UTF-8"));//내보낸 파일이 왜곡되는 것을 방지합니다.

response.setCharacterEncoding("utf-8 ");

PrintWriter out = response.getWriter();

t.process(dataMap, out);

out.close();

피>< 피>}