HTMX Fragment & Router

TsgcHTMX_Fragment / TsgcHTMX_Router — 타겟 DOM 업데이트를 위한 out-of-band htmx 스왑 페이로드를 구성하고, URL 패턴을 Delphi 핸들러 프로시저로 라우팅합니다.

TsgcHTMX_Fragment & TsgcHTMX_Router

TsgcHTMX_Fragment는 주어진 DOM 요소 id와 스왑 전략에 맞게 올바른 형태의 out-of-band htmx 스왑 문자열을 구성합니다. TsgcHTMX_Router는 수신 HTTP 요청을 등록된 Delphi 핸들러 메서드로 디스패치하여 수동 URL 파싱을 없애줍니다.

컴포넌트 클래스

TsgcHTMX_Fragment, TsgcHTMX_Router

역할

OOB 스왑 & 요청 라우팅

제품군

인프라 & 엔진

언어

Delphi, C++ Builder, .NET

프래그먼트 구성 및 요청 라우팅

TsgcHTMX_Fragment를 사용하여 특정 DOM 요소 id를 타겟으로 하는 out-of-band htmx 스왑 문자열을 구성합니다. TsgcHTMX_Router를 사용하여 if/else 체인 없이 수신 HTTP 요청을 등록된 핸들러 메서드로 디스패치합니다.

uses
  sgcHTMX_Fragment, sgcHTMX_Router;

// Build and broadcast an OOB fragment:
var
  oFrag: TsgcHTMX_Fragment;
begin
  oFrag := TsgcHTMX_Fragment.Create(nil);
  try
    oFrag.TargetID   := 'kpi-revenue';
    oFrag.SwapMethod := 'innerHTML';
    oFrag.Content    := FormatFloat('#,##0', FRevenue);
    oHTMX.BroadcastFragment(oFrag.Fragment);
  finally
    oFrag.Free;
  end;
end;

// Route requests with TsgcHTMX_Router:
var
  oRouter: TsgcHTMX_Router;
begin
  oRouter := TsgcHTMX_Router.Create(nil);
  oRouter.AddRoute('GET',  '/customers',     HandleCustomers);
  oRouter.AddRoute('POST', '/customer/save', HandleCustomerSave);
  oRouter.HandleRequest(AContext, ARequest, AResponse);
end;
TsgcHTMX_Fragment *oFrag = new TsgcHTMX_Fragment(NULL);
try
{
  oFrag->TargetID   = "kpi-revenue";
  oFrag->SwapMethod = "innerHTML";
  oFrag->Content    = FormatFloat("#,##0", FRevenue);
  oHTMX->BroadcastFragment(oFrag->Fragment);
}
__finally { delete oFrag; }

TsgcHTMX_Router *oRouter = new TsgcHTMX_Router(NULL);
oRouter->AddRoute("GET",  "/customers",     HandleCustomers);
oRouter->AddRoute("POST", "/customer/save", HandleCustomerSave);
oRouter->HandleRequest(AContext, ARequest, AResponse);
var frag = new TsgcHTMX_Fragment();
frag.TargetID   = "kpi-revenue";
frag.SwapMethod = "innerHTML";
frag.Content    = revenue.ToString("N0");
htmxEngine.BroadcastFragment(frag.Fragment);

var router = new TsgcHTMX_Router();
router.AddRoute("GET",  "/customers",     HandleCustomers);
router.AddRoute("POST", "/customer/save", HandleCustomerSave);
router.HandleRequest(context, request, response);

주요 속성 및 메서드

가장 자주 사용하는 멤버.

TsgcHTMX_Fragment.TargetID

교체할 DOM 요소의 id로, htmx의 hx-swap-oob 타겟에 해당합니다.

TsgcHTMX_Fragment.SwapMethod

htmx 스왑 전략: innerHTML, outerHTML, beforebegin, afterend 등입니다.

TsgcHTMX_Fragment.Content

타겟에 삽입할 새 HTML로, 단순 문자열이거나 모든 sgcHTML 컴포넌트의 출력일 수 있습니다.

TsgcHTMX_Fragment.Fragment

읽기 전용으로, BroadcastFragment에 전달하거나 HTTP 응답 본문으로 반환할 준비가 된 완전한 OOB 스왑 문자열을 반환합니다.

TsgcHTMX_Router.AddRoute

URL 패턴과 HTTP 메서드 조합을 Delphi 핸들러 프로시저 또는 메서드와 함께 등록합니다.

TsgcHTMX_Router.HandleRequest

수신 요청을 모든 등록된 라우트와 비교하여 일치하는 핸들러를 호출하며, 일치하는 라우트가 없으면 False를 반환합니다.

계속 탐색하기

온라인 도움말이 컴포넌트의 전체 API 참조 및 사용 가이드입니다.
모든 sgcHTML 컴포넌트60개 이상의 컴포넌트 전체 기능 매트릭스를 살펴보세요.
무료 체험판 다운로드30일 체험판에는 60.HTML 데모 프로젝트가 포함되어 있습니다.
가격전체 소스 코드가 포함된 단일, 팀 및 사이트 라이선스.

시작할 준비가 되셨나요?

무료 체험판을 다운로드하고 Delphi, C++ Builder 및 .NET에서 웹 UI 빌드를 시작하세요.