ftl 避免-SAXReader依靠-adt.ftl

avoid-saxreader-adt.ftl
<#assign time1 = .now?time?long>
<#assign perf_count = 0>
<#assign service = serviceLocator.findService("com.liferay.journal.util.JournalContent") >
<#assign model = objectUtil("com.liferay.portal.kernel.portlet.PortletRequestModel", renderRequest, renderResponse)>

<#if entries?has_content>
	<#list entries as curEntry>

		<#assign renderer = curEntry.getAssetRenderer()>
		<#assign article = renderer.getArticle()>

		<#assign html2 = service.getContent(article.getGroupId(), article.getArticleId(), article.getTemplateId(), "view", locale.toString(), model, themeDisplay)>
		<#assign perf_count = perf_count + 1>
		CC ${html2} CC
	</#list>
</#if>

<#assign time2 = .now?time?long>
Tempo: ${time2 - time1} </br>
Quantidade: ${perf_count} </br>

ftl ns.ftl

ns.ftl
${TYPE default="Object"} ${OBJ newVarName default="obj"} = new ${TYPE2 type="${TYPE}" default="Object"}(${cursor});

ftl API网关应用程序/ www-form-urlencoded到application / json基于https://forums.aws.amazon.com/thread.jspa?messageID=673012&tstart=0

API网关应用程序/ www-form-urlencoded到application / json基于https://forums.aws.amazon.com/thread.jspa?messageID=673012&tstart=0#673012

aws-api-gateway-form-to-json.ftl
## convert HTML POST data or HTTP GET query string to JSON
 
## get the raw post data from the AWS built-in variable and give it a nicer name
#if ($context.httpMethod == "POST")
 #set($rawAPIData = $input.path('$'))
#elseif ($context.httpMethod == "GET")
 #set($rawAPIData = $input.params().querystring)
 #set($rawAPIData = $rawAPIData.toString())
 #set($rawAPIDataLength = $rawAPIData.length() - 1)
 #set($rawAPIData = $rawAPIData.substring(1, $rawAPIDataLength))
 #set($rawAPIData = $rawAPIData.replace(", ", "&"))
#else
 #set($rawAPIData = "")
#end
 
## first we get the number of "&" in the string, this tells us if there is more than one key value pair
#set($countAmpersands = $rawAPIData.length() - $rawAPIData.replace("&", "").length())
 
## if there are no "&" at all then we have only one key value pair.
## we append an ampersand to the string so that we can tokenise it the same way as multiple kv pairs.
## the "empty" kv pair to the right of the ampersand will be ignored anyway.
#if ($countAmpersands == 0)
 #set($rawPostData = $rawAPIData + "&")
#end
 
## now we tokenise using the ampersand(s)
#set($tokenisedAmpersand = $rawAPIData.split("&"))
 
## we set up a variable to hold the valid key value pairs
#set($tokenisedEquals = [])
 
## now we set up a loop to find the valid key value pairs, which must contain only one "="
#foreach( $kvPair in $tokenisedAmpersand )
 #set($countEquals = $kvPair.length() - $kvPair.replace("=", "").length())
 #if ($countEquals == 1)
  #set($kvTokenised = $kvPair.split("="))
  #if ($kvTokenised[0].length() > 0)
   ## we found a valid key value pair. add it to the list.
   #set($devNull = $tokenisedEquals.add($kvPair))
  #end
 #end
#end
 
## next we set up our loop inside the output structure "{" and "}"
{
#foreach( $kvPair in $tokenisedEquals )
  ## finally we output the JSON for this pair and append a comma if this isn't the last pair
  #set($kvTokenised = $kvPair.split("="))
 "$util.urlDecode($kvTokenised[0])" : #if($kvTokenised[1].length() > 0)"$util.urlDecode($kvTokenised[1])"#{else}""#end#if( $foreach.hasNext ),#end
#end
}