亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? spring.ftl

?? spring api 源代碼
?? FTL
字號:
<#ftl strip_whitespace=true>
<#--
 * spring.ftl
 *
 * This file consists of a collection of FreeMarker macros aimed at easing
 * some of the common requirements of web applications - in particular
 * handling of forms.
 *
 * Spring's FreeMarker support will automatically make this file and therefore
 * all macros within it available to any application using Spring's
 * FreeMarkerConfigurer.
 *
 * To take advantage of these macros, the "exposeSpringMacroHelpers" property
 * of the FreeMarker class needs to be set to "true". This will expose a
 * RequestContext under the name "springMacroRequestContext", as needed by
 * the macros in this library.
 *
 * @author Darren Davison
 * @author Juergen Hoeller
 * @since 1.1
 -->

<#--
 * message
 *
 * Macro to translate a message code into a message.
 -->
<#macro message code>${springMacroRequestContext.getMessage(code)}</#macro>

<#--
 * messageText
 *
 * Macro to translate a message code into a message,
 * using the given default text if no message found.
 -->
<#macro messageText code, text>${springMacroRequestContext.getMessage(code, text)}</#macro>

<#--
 * messageArgs
 *
 * Macro to translate a message code with arguments into a message.
 -->
<#macro messageArgs code, args>${springMacroRequestContext.getMessage(code, args)}</#macro>

<#--
 * messageArgsText
 *
 * Macro to translate a message code with arguments into a message,
 * using the given default text if no message found.
 -->
<#macro messageArgsText code, args, text>${springMacroRequestContext.getMessage(code, args, text)}</#macro>

<#--
 * theme
 *
 * Macro to translate a theme message code into a message.
 -->
<#macro theme code>${springMacroRequestContext.getThemeMessage(code)}</#macro>

<#--
 * themeText
 *
 * Macro to translate a theme message code into a message,
 * using the given default text if no message found.
 -->
<#macro themeText code, text>${springMacroRequestContext.getThemeMessage(code, text)}</#macro>

<#--
 * themeArgs
 *
 * Macro to translate a theme message code with arguments into a message.
 -->
<#macro themeArgs code, args>${springMacroRequestContext.getThemeMessage(code, args)}</#macro>

<#--
 * themeArgsText
 *
 * Macro to translate a theme message code with arguments into a message,
 * using the given default text if no message found.
 -->
<#macro themeArgsText code, args, text>${springMacroRequestContext.getThemeMessage(code, args, text)}</#macro>

<#--
 * url
 *
 * Takes a relative URL and makes it absolute from the server root by
 * adding the context root for the web application.
 -->
<#macro url relativeUrl>${springMacroRequestContext.getContextPath()}${relativeUrl}</#macro>

<#--
 * bind
 *
 * Exposes a BindStatus object for the given bind path, which can be
 * a bean (e.g. "person") to get global errors, or a bean property
 * (e.g. "person.name") to get field errors. Can be called multiple times
 * within a form to bind to multiple command objects and/or field names.
 *
 * This macro will participate in the default HTML escape setting for the given
 * RequestContext. This can be customized by calling "setDefaultHtmlEscape"
 * on the "springMacroRequestContext" context variable, or via the
 * "defaultHtmlEscape" context-param in web.xml (same as for the JSP bind tag).
 * Also regards a "htmlEscape" variable in the namespace of this library.
 *
 * Producing no output, the following context variable will be available
 * each time this macro is referenced (assuming you import this library in
 * your templates with the namespace 'spring'):
 *
 *   spring.status : a BindStatus instance holding the command object name,
 *   expression, value, and error messages and codes for the path supplied
 *
 * @param path : the path (string value) of the value required to bind to.
 *   Spring defaults to a command name of "command" but this can be overridden
 *   by user config.
 -->
<#macro bind path>
    <#if htmlEscape?exists>
        <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)>
    <#else>
        <#assign status = springMacroRequestContext.getBindStatus(path)>
    </#if>
    <#-- assign a temporary value, forcing a string representation for any
    kind of variable. This temp value is only used in this macro lib -->
    <#if status.value?exists && status.value?is_boolean>
        <#assign stringStatusValue=status.value?string>
    <#else>
        <#assign stringStatusValue=status.value?default("")>
    </#if>
</#macro>

<#--
 * bindEscaped
 *
 * Similar to spring:bind, but takes an explicit HTML escape flag rather
 * than relying on the default HTML escape setting.
 -->
<#macro bindEscaped path, htmlEscape>
    <#assign status = springMacroRequestContext.getBindStatus(path, htmlEscape)>
    <#-- assign a temporary value, forcing a string representation for any
    kind of variable. This temp value is only used in this macro lib -->
    <#if status.value?exists && status.value?is_boolean>
        <#assign stringStatusValue=status.value?string>
    <#else>
        <#assign stringStatusValue=status.value?default("")>
    </#if>
</#macro>

<#--
 * formInput
 *
 * Display a form input field of type 'text' and bind it to an attribute
 * of a command or bean.
 *
 * @param path the name of the field to bind to
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
 -->
<#macro formInput path attributes="" fieldType="text">
    <@bind path/>
    <input type="${fieldType}" id="${status.expression}" name="${status.expression}" value="<#if fieldType!="password">${stringStatusValue}</#if>" ${attributes}<@closeTag/>
</#macro>

<#--
 * formPasswordInput
 *
 * Display a form input field of type 'password' and bind it to an attribute
 * of a command or bean. No value will ever be displayed. This functionality
 * can also be obtained by calling the formInput macro with a 'type' parameter
 * of 'password'.
 *
 * @param path the name of the field to bind to
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
 -->
<#macro formPasswordInput path attributes="">
    <@formInput path, attributes, "password"/>
</#macro>

<#--
 * formHiddenInput
 *
 * Generate a form input field of type 'hidden' and bind it to an attribute
 * of a command or bean. This functionality can also be obtained by calling
 * the formInput macro with a 'type' parameter of 'hidden'.
 *
 * @param path the name of the field to bind to
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
 -->
<#macro formHiddenInput path attributes="">
    <@formInput path, attributes, "hidden"/>
</#macro>

<#--
 * formTextarea
 *
 * Display a text area and bind it to an attribute of a command or bean.
 *
 * @param path the name of the field to bind to
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
 -->
<#macro formTextarea path attributes="">
    <@bind path/>
    <textarea id="${status.expression}" name="${status.expression}" ${attributes}>${stringStatusValue}</textarea>
</#macro>

<#--
 * formSingleSelect
 *
 * Show a selectbox (dropdown) input element allowing a single value to be chosen
 * from a list of options.
 *
 * @param path the name of the field to bind to
 * @param options a map (value=label) of all the available options
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
-->
<#macro formSingleSelect path options attributes="">
    <@bind path/>
    <select id="${status.expression}" name="${status.expression}" ${attributes}>
        <#list options?keys as value>
        <option value="${value?html}"<@checkSelected value/>>${options[value]?html}</option>
        </#list>
    </select>
</#macro>

<#--
 * formMultiSelect
 *
 * Show a listbox of options allowing the user to make 0 or more choices from
 * the list of options.
 *
 * @param path the name of the field to bind to
 * @param options a map (value=label) of all the available options
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
-->
<#macro formMultiSelect path options attributes="">
    <@bind path/>
    <select multiple="multiple" id="${status.expression}" name="${status.expression}" ${attributes}>
        <#list options?keys as value>
        <#assign isSelected = contains(status.value?default([""]), value)>
        <option value="${value?html}"<#if isSelected> selected="selected"</#if>>${options[value]?html}</option>
        </#list>
    </select>
</#macro>

<#--
 * formRadioButtons
 *
 * Show radio buttons.
 *
 * @param path the name of the field to bind to
 * @param options a map (value=label) of all the available options
 * @param separator the html tag or other character list that should be used to
 *    separate each option. Typically '&nbsp;' or '<br>'
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
-->
<#macro formRadioButtons path options separator attributes="">
    <@bind path/>
    <#list options?keys as value>
    <#assign id="${status.expression}${value_index}">
    <input type="radio" id="${id}" name="${status.expression}" value="${value?html}"<#if stringStatusValue == value> checked="checked"</#if> ${attributes}<@closeTag/>
    <label for="${id}">${options[value]?html}</label>${separator}
    </#list>
</#macro>

<#--
 * formCheckboxes
 *
 * Show checkboxes.
 *
 * @param path the name of the field to bind to
 * @param options a map (value=label) of all the available options
 * @param separator the html tag or other character list that should be used to
 *    separate each option. Typically '&nbsp;' or '<br>'
 * @param attributes any additional attributes for the element (such as class
 *    or CSS styles or size
-->
<#macro formCheckboxes path options separator attributes="">
    <@bind path/>
    <#list options?keys as value>
    <#assign id="${status.expression}${value_index}">
    <#assign isSelected = contains(status.value?default([""]), value)>
    <input type="checkbox" id="${id}" name="${status.expression}" value="${value?html}"<#if isSelected> checked="checked"</#if> ${attributes}<@closeTag/>
    <label for="${id}">${options[value]?html}</label>${separator}
    </#list>
    <input type="hidden" name="_${status.expression}" value="on"/>
</#macro>

<#--
 * showErrors
 *
 * Show validation errors for the currently bound field, with
 * optional style attributes.
 *
 * @param separator the html tag or other character list that should be used to
 *    separate each option. Typically '<br>'.
 * @param classOrStyle either the name of a CSS class element (which is defined in
 *    the template or an external CSS file) or an inline style. If the value passed in here
 *    contains a colon (:) then a 'style=' attribute will be used, else a 'class=' attribute
 *    will be used.
-->
<#macro showErrors separator classOrStyle="">
    <#list status.errorMessages as error>
    <#if classOrStyle == "">
        <b>${error}</b>
    <#else>
        <#if classOrStyle?index_of(":") == -1><#assign attr="class"><#else><#assign attr="style"></#if>
        <span ${attr}="${classOrStyle}">${error}</span>
    </#if>
    <#if error_has_next>${separator}</#if>
    </#list>
</#macro>

<#--
 * checkSelected
 *
 * Check a value in a list to see if it is the currently selected value.
 * If so, add the 'selected="selected"' text to the output.
 * Handles values of numeric and string types.
 * This function is used internally but can be accessed by user code if required.
 *
 * @param value the current value in a list iteration
-->
<#macro checkSelected value>
    <#if stringStatusValue?is_number && stringStatusValue == value?number>selected="selected"</#if>
    <#if stringStatusValue?is_string && stringStatusValue == value>selected="selected"</#if>
</#macro>

<#--
 * contains
 *
 * Macro to return true if the list contains the scalar, false if not.
 * Surprisingly not a FreeMarker builtin.
 * This function is used internally but can be accessed by user code if required.
 *
 * @param list the list to search for the item
 * @param item the item to search for in the list
 * @return true if item is found in the list, false otherwise
-->
<#function contains list item>
    <#list list as nextInList>
    <#if nextInList == item><#return true></#if>
    </#list>
    <#return false>
</#function>

<#--
 * closeTag
 *
 * Simple macro to close an HTML tag that has no body with '>' or '/>',
 * depending on the value of a 'xhtmlCompliant' variable in the namespace
 * of this library.
-->
<#macro closeTag>
    <#if xhtmlCompliant?exists && xhtmlCompliant>/><#else>></#if>
</#macro>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区免费网站| 日韩高清一区二区| 欧美一区二区女人| 成人av片在线观看| 久久成人免费日本黄色| 亚洲天堂a在线| 久久久久久久久久久久电影 | 中文字幕欧美激情一区| 欧美日韩精品二区第二页| a在线播放不卡| 久草这里只有精品视频| 一区二区三区91| 亚洲欧洲三级电影| 久久色中文字幕| 欧美一区欧美二区| 91久久精品国产91性色tv| 国产成人高清视频| 六月丁香婷婷久久| 天天色综合天天| 亚洲蜜臀av乱码久久精品蜜桃| 久久精品视频一区二区三区| 91精品国产色综合久久ai换脸| 色噜噜夜夜夜综合网| 成人91在线观看| 粉嫩aⅴ一区二区三区四区| 奇米精品一区二区三区四区| 亚洲国产综合91精品麻豆| 亚洲欧美日韩成人高清在线一区| 亚洲国产精品激情在线观看| 26uuu另类欧美| 欧美精品一区二| 精品国精品国产尤物美女| 91精品国产品国语在线不卡| 在线观看亚洲精品视频| 色av综合在线| 欧美色成人综合| 欧美性欧美巨大黑白大战| 欧美在线免费播放| 91免费国产视频网站| 91在线精品一区二区| 99re在线视频这里只有精品| 99国内精品久久| 91免费精品国自产拍在线不卡| 91色porny| 色呦呦一区二区三区| 91成人看片片| 欧美丰满美乳xxx高潮www| 欧美一区午夜视频在线观看| 91麻豆精品国产自产在线观看一区| 欧美乱妇20p| 日韩三级精品电影久久久| 欧美一区日韩一区| 久久女同精品一区二区| 国产精品婷婷午夜在线观看| 国产精品三级视频| 一区二区三区四区中文字幕| 亚洲一区二区三区四区不卡| 视频在线在亚洲| 精品一区二区三区免费播放| 国产一区二区精品久久| 成人18视频在线播放| 日本丶国产丶欧美色综合| 欧美乱妇15p| 欧美精品一区二区三区在线播放 | 亚洲蜜桃精久久久久久久| 一二三四区精品视频| 日韩在线观看一区二区| 国内精品久久久久影院一蜜桃| 国产99久久久国产精品潘金网站| 99re热这里只有精品视频| 欧美色中文字幕| 日韩精品一区二区三区四区视频| 日本一区免费视频| 亚洲一区二区三区四区在线| 蜜臀久久99精品久久久久宅男 | 一区二区三区日本| 日本午夜一本久久久综合| 国产一区二区中文字幕| 色综合久久99| 日韩视频免费观看高清完整版在线观看 | 国产成人免费视频网站高清观看视频| 成人aa视频在线观看| 这里是久久伊人| 国产精品久久久久久亚洲毛片| 亚洲mv在线观看| 国产成人午夜高潮毛片| 欧美日韩亚洲综合| 国产免费观看久久| 日韩一区精品视频| 成人免费高清在线| 日韩精品一区国产麻豆| 日韩毛片视频在线看| 九九九精品视频| 色爱区综合激月婷婷| 久久综合色之久久综合| 亚洲午夜一区二区| 成人黄色小视频| 日韩精品一区二区三区视频播放 | av男人天堂一区| 日韩一卡二卡三卡四卡| 亚洲精品欧美综合四区| 国产一区二区按摩在线观看| 欧美日韩免费电影| 国产精品高清亚洲| 激情欧美一区二区| 欧美丝袜第三区| 亚洲国产精品ⅴa在线观看| 奇米精品一区二区三区在线观看| 91浏览器打开| 国产欧美日韩在线视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美三级欧美一级| 一区二区三区中文在线| 成人久久18免费网站麻豆| 精品88久久久久88久久久| 日韩vs国产vs欧美| 精品视频在线看| 一区二区三区四区不卡视频| av欧美精品.com| 国产精品久久久久久久久图文区| 久久99国产乱子伦精品免费| 欧美日韩精品二区第二页| 亚洲制服丝袜在线| 一本大道av一区二区在线播放| 国产精品色在线| 成人免费av网站| 国产精品天干天干在线综合| 国产成人在线视频网站| 国产色一区二区| 国产精品99久| 欧美激情一区二区三区四区| 国产呦萝稀缺另类资源| 精品国产sm最大网站免费看| 免费在线观看精品| 日韩精品一区二区三区swag | 粉嫩久久99精品久久久久久夜 | 日韩成人免费电影| 欧美疯狂性受xxxxx喷水图片| 天天免费综合色| 欧美精品在线观看播放| 天天操天天干天天综合网| 欧美人体做爰大胆视频| 天天免费综合色| 日韩一级片网站| 精品在线免费视频| 久久久欧美精品sm网站| 国产成人精品在线看| 国产视频一区二区在线| 成人av电影在线播放| 亚洲一区二区三区不卡国产欧美| 91黄视频在线| 奇米影视一区二区三区| 久久免费电影网| 91在线一区二区三区| 亚洲国产日韩综合久久精品| 欧美一级欧美一级在线播放| 狠狠狠色丁香婷婷综合久久五月| 久久久久国产精品人| 99久久er热在这里只有精品15| 亚洲精品免费播放| 91精品中文字幕一区二区三区| 精品亚洲porn| 亚洲欧洲日韩女同| 欧美系列亚洲系列| 久久99久久99精品免视看婷婷 | 国产精品亚洲专一区二区三区 | 日韩影院免费视频| xf在线a精品一区二区视频网站| 盗摄精品av一区二区三区| 一区二区三区精品在线| 欧美一激情一区二区三区| 风间由美性色一区二区三区| 一区二区三区不卡视频在线观看| 日韩天堂在线观看| 99久久国产综合精品麻豆| 三级精品在线观看| 久久精品一区二区三区不卡 | 欧洲av一区二区嗯嗯嗯啊| 另类综合日韩欧美亚洲| 国产精品毛片高清在线完整版| 欧美丝袜丝交足nylons| 国产二区国产一区在线观看 | av激情综合网| 蜜臂av日日欢夜夜爽一区| 国产精品美女久久久久aⅴ国产馆| 欧美性videosxxxxx| 国产宾馆实践打屁股91| 亚洲成人午夜影院| 国产精品五月天| 9191久久久久久久久久久| 懂色av中文字幕一区二区三区 | 久久草av在线| 夜夜夜精品看看| 国产精品毛片大码女人| 日韩一区二区在线观看| 色八戒一区二区三区| 国产mv日韩mv欧美| 韩国视频一区二区| 亚洲成av人片在线| 国产精品素人一区二区|