SpringBoot 2 통합 FreeMarker 구현 페이지 정적 화 예시 상세 설명
6270 단어 SpringBoot2FreeMarker페이지 정적 화
1.동적 정적 페이지
정적 페이지
즉,정적 웹 페이지 는 콘 텐 츠 HTML 페이지 를 불 러 왔 습 니 다.요청 서버 데이터 와 컴 파일 과정 을 거치 지 않 고 클 라 이언 트 브 라 우 저 에 직접 불 러 옵 니 다.일반적으로 독립 된 HTML 페이지 를 만 들 고 서버 와 데이터 상호작용 을 하지 않 는 다 는 것 이다.
장단 점 설명:
정적 웹 페이지 와 상대 적 인 웹 프로 그래 밍 기술 을 말 합 니 다.페이지 의 내용 은 서버 에 요청 해 야 합 니 다.캐 시 를 고려 하지 않 은 상태 에서 서비스 인터페이스의 데이터 변화,페이지 로 딩 의 내용 도 실시 간 으로 변화 합 니 다.표 시 된 내용 은 데이터 베이스 작업 의 결과 에 따라 동적 으로 변 합 니 다.
장단 점 설명:
2.응용 장면
동적 페이지 정적 처리 의 응용 장면 이 매우 많다.예 를 들 어:
2.절차 분석
정적 페이지 전환 은 상대 적 으로 복잡 한 과정 으로 그 중에서 핵심 절 차 는 다음 과 같다.
3.코드 실현 사례
1.기초 의존
FreeMarker 는 템 플 릿 엔진 입 니 다.즉,템 플 릿 과 변경 할 데 이 터 를 기반 으로 출력 텍스트(HTML 페이지,이메일,프로필,소스 코드 등)를 만 드 는 일반적인 도구 입 니 다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
2.페이지 템 플 릿이곳 은 FreeMarker 가 개발 한 템 플 릿 스타일 도 사용 합 니 다.
<html>
<head>
<title>PageStatic</title>
</head>
<body>
:${myTitle}<br/>
<#assign text="{'auth':'cicada','date':'2020-07-16'}" />
<#assign data=text?eval />
:${data.auth} :${data.date}<br/>
<table class="table table-striped table-hover table-bordered" id="editable-sample">
<thead>
<tr>
<th> </th>
<th> </th>
</tr>
</thead>
<tbody>
<#list tableList as info>
<tr class="">
<td>${info.desc}</td>
<td><img src="${info.imgUrl}" height="80" width="80"></td>
</tr>
</#list>
</tbody>
</table><br/>
<#list imgList as imgIF>
<img src="${imgIF}" height="300" width="500">
</#list>
</body>
</html>
FreeMarker 의 문법 은 기 존의 HTML 문법 과 대체적으로 일치 하지만 자신의 데이터 처리 라벨 을 가지 고 있어 사용 하기에 복잡 하지 않다.3.해석 과정
분석 을 통 해 페이지 템 플 릿 과 데이터 인터페이스의 데 이 터 를 합 치면 됩 니 다.
@Service
public class PageServiceImpl implements PageService {
private static final Logger LOGGER = LoggerFactory.getLogger(PageServiceImpl.class) ;
private static final String PATH = "/templates/" ;
@Override
public void ftlToHtml() throws Exception {
//
Configuration configuration = new Configuration(Configuration.getVersion());
//
String classpath = this.getClass().getResource("/").getPath();
configuration.setDirectoryForTemplateLoading(new File(classpath + PATH));
//
Template template = configuration.getTemplate("my-page.ftl");
//
Map<String, Object> map = new HashMap<>();
map.put("myTitle", " (PageStatic)");
map.put("tableList",getList()) ;
map.put("imgList",getImgList()) ;
//
String content = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);
LOGGER.info("content:{}",content);
InputStream inputStream = IOUtils.toInputStream(content,"UTF-8");
//
FileOutputStream fileOutputStream = new FileOutputStream(new File("F:/page/newPage.html"));
IOUtils.copy(inputStream, fileOutputStream);
//
inputStream.close();
fileOutputStream.close();
}
private List<TableInfo> getList (){
List<TableInfo> tableInfoList = new ArrayList<>() ;
tableInfoList.add(new TableInfo(Constant.desc1, Constant.img01));
tableInfoList.add(new TableInfo(Constant.desc2,Constant.img02));
return tableInfoList ;
}
private List<String> getImgList (){
List<String> imgList = new ArrayList<>() ;
imgList.add(Constant.img02) ;
imgList.add(Constant.img02) ;
return imgList ;
}
}
생 성 된 HTML 페이지 는 브 라 우 저 로 직접 열 면 됩 니 다.더 이상 데이터 인터페이스 서비스 에 의존 하지 않 아 도 됩 니 다.소스 코드 주소
GitHub/주소https://github.com/cicadasmile/middle-ware-parent
GitEE/주소 https://gitee.com/cicadasmile/middle-ware-parent
여기 서 SpringBoot 2 통합 FreeMarker 구현 페이지 정적 화 예제 에 대한 상세 한 설명 을 소개 합 니 다.더 많은 SpringBoot 2 통합 FreeMarker 구현 페이지 정적 화 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringBoot 2 통합 FreeMarker 구현 페이지 정적 화 예시 상세 설명즉,정적 웹 페이지 는 콘 텐 츠 HTML 페이지 를 불 러 왔 습 니 다.요청 서버 데이터 와 컴 파일 과정 을 거치 지 않 고 클 라 이언 트 브 라 우 저 에 직접 불 러 옵 니 다.일반적으로 독립 된 HTML...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.