Spring FreeMarker 통합 Struts 2 과정 상세 설명

struts 2 는 FreeMarker 템 플 릿 을 보기 기술 로 간단하게 사용 할 수 있 으 며,전통 적 인 jsp 페이지 에 있어 서 FreeMarker 는 절 호의 대안 이다.
그 밖 에 Struts 2 는 기본적으로 FreeMarker 를 템 플 릿 파일 로 사용 하고 Struts 2 의 모든 테마 템 플 릿 파일 은 FreeMarker 로 작 성 됩 니 다.
Struts 2 는 FreeMarker 를 a 가 인식 하 는 템 플 릿 기술 로 사용 하기 때문에 Strus 2 는 FreeMarker 에 대한 지원 이 매우 좋다.따라서 Struts 2 응용 프로그램 에서 FreeMarker 템 플 릿 기술 을 사용 하기 위해 서 는 Struts.xml 파일 에서 간단하게 설정 하면 됩 니 다.
FreeMarker 템 플 릿 에서 Struts 2 탭 을 사용 하여 struts-tags.tld 파일 을 WEB-INF 디 렉 터 리 에 복사 합 니 다.
Struts 2-core.jar 패 키 지 를 압축 을 풀 고 struts-tags.tld 파일 을 꺼 내 웹 애플 리 케 이 션 의 WEB-INF 디 렉 터 리 에 복사 합 니 다.압축 해제 소프트웨어 를 사용 하여 JAR 가방 을 열 수 있 습 니 다.파일 은 META-INF 아래 에 있 습 니 다.
웹.xml 파일 에서 JspSupportServlet 시작:
웹.xml 파일 에서 다음 과 같이 설정 합 니 다.

<servlet> 
 <servlet-name>JspSupportServlet</servlet-name> 
 <servlet-class> 
 org.apache.struts2.views.JspSupportServlet 
 </servlet-class> 
 <!--  JspSupportServlet   --> 
 <load-on-startup>1</load-on-startup> 
</servlet> 
FreeMarker 템 플 릿 파일 에서"assign 명령"을 사용 하여 탭 라 이브 러 리 가 져 오기
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
로그 인 페이지 FTL 파일 작성:

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] /> 
<html> 
<head> 
<title>    </title> 
</head> 
<body> 
  <br> 
<@s.form action="Login.action"> 
 <@s.textfield name="username" label="   "/> 
 <@s.textfield name="password" label="  "/> 
 <@s.submit value="  "/> 
</@s.form> 
  :${name1}=${name2} 
</body> 
</html> 
주의:
name 1 과 name 2 속성 은 뒤에서 Action 에서 가 져 온 속성 입 니 다.모드 에서 속성 값 을 가 져 오 는 것 을 검증 하기 위해 서 입 니 다.
WEB 용 기 는 기본적으로 FreeMarker 템 플 릿 페이지 를 처리 하지 않 습 니 다.브 라 우 저 를 통 해 이 페이지 를 직접 요청 하면 우리 가 원 하 는 결과 가 아니 라 이 템 플 릿 페이지 의 소스 코드 를 볼 수 있 습 니 다.
Struts 2 프로필 편집:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 
 "http://struts.apache.org/dtds/struts-2.3.dtd"> 
<struts> 
  <constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
  <constant name="struts.devMode" value="true" /> 
  <constant name="struts.i18n.encoding" value="UTF-8"/> 
  <package name="default" namespace="/" extends="struts-default"> 
    <global-results> 
      <result name="error">/error.jsp</result> 
    </global-results> 
    <global-exception-mappings> 
      <exception-mapping exception="java.lang.Exception" result="error"/> 
    </global-exception-mappings> 
  </package> 
  <package name="example" namespace="/example" extends="default"> 
    <action name="HelloWorld" class="com.test.LoginAction"> 
      <result name="success" type="freemarker">/WEB-INF/ftl/welcome.ftl</result> 
    </action> 
  </package> 
</struts> 
메모:result 보기 형식 은 freemarker 입 니 다.
Action 클래스 처리 코드 작성:

package com.test; 
import javax.servlet.http.HttpServletRequest; 
import org.apache.struts2.ServletActionContext; 
import com.opensymphony.xwork2.Action; 
@SuppressWarnings("serial") 
public class LoginAction implements Action { 
 private String name1 = "AAAAA"; 
 public String execute() throws Exception { 
 HttpServletRequest request = ServletActionContext.getRequest(); 
 request.setAttribute("name2", "BBBBB"); 
 return SUCCESS; 
 } 
 public String getName1() { 
 return name1; 
 } 
 public void setName1(String name1) { 
 this.name1 = name1; 
 } 
} 
접근 경로http://127.0.0.1:8080/f/example/HelloWorld.action
출력 내용 은 다음 과 같 습 니 다.

특별 알림:
Struts 에 인 코딩설정
페이지 파일 에 인 코딩
특히 welcome.ftl 파일 속성 에 있 는 인 코딩 형식 도 주의해 야 합 니 다.통 일 된 형식 이 아니라면 어 지 러 울 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기