Spring FreeMarker 통합 Struts 2 과정 상세 설명
4750 단어 SpringFreeMarker통합Struts
그 밖 에 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 파일 속성 에 있 는 인 코딩 형식 도 주의해 야 합 니 다.통 일 된 형식 이 아니라면 어 지 러 울 수 있 습 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.