struts 2 와 freemarker 의 통합

1. 프로젝트 에 freemarker 의 jar 패 키 지 를 추가 합 니 다.
2 、 Action 클래스 생 성
//   Configuration freemarker   Configuration           
//      hibernate,   Configuration,       
private static Configuration cfg = new Configuration();
	static {
		//  freemarker         
		cfg.setTemplateLoader(new ClassTemplateLoader(DocumentAction.class, "templates"));
		//    
		cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
	}
	
	//       
	public String dynaForm(int workFlowId) {
		try {
			//                 
			FlowForm form = this.flowFormService.searchFlowFormByWorkFlowId(workFlowId);
			if(form == null) {
				return null;
			}
			
			//             
			Template template = cfg.getTemplate(form.getTemplate());
			Map root = new HashMap();
//      form    map     ,           ,               
			root.put("form", form);
			
			Writer out = new StringWriter();
//                    
			template.process(root, out);
			return out.toString();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}

이 템 플 릿 을 표시 할 페이지 에서 이 방법 을 사용 하면 해당 템 플 릿 내용 을 표시 할 수 있 습 니 다.
<s:property value="dynaForm(workFlowId)" escape="false" />

좋은 웹페이지 즐겨찾기