Netbeans 向导 freemarker 中的 #list 循环变量在哪里
where are the #list looped variables in Netbeans wizard freemarker
我正在使用 netbeans freemarker 从实体 类 生成 JSF 页面。
在 list.ftl 文件中我有
<#list entityDescriptors as entityDescriptor>
<#if entityDescriptor.id != "id" && entityDescriptor.id != "version">
<div class="ui-g-12 ui-md-6 ui-lg-4">
<p:outputLabel styleClass="template-labels"
value="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}" for="@next" />
<#if entityDescriptor.dateTimeFormat?? && entityDescriptor.dateTimeFormat != "">
<p:inputMask mask="9999/99/99" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
converter="JalaliDateConverter" onfocus="serp.showDatePicker(this)" styleClass="PersianDate template-fields" title="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.returnType?matches(".*[Bb]+oolean")>
<p:selectBooleanCheckbox styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}"
value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.blob>
<p:inputTextarea styleClass="template-fields" id="${entityName}_editForm_textArea" rows="4" cols="30" id="${entityDescriptor.id?replace(".","_")}"
value="${r"#{"}${entityDescriptor.name}${r"}"}" title="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.relationshipOne>
<p:selectOneMenu styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}">
<f:selectItem itemLabel="${r"#{"}${bundle}.SelectOneMessage${r"}"}"/>
<f:selectItems value="${r"#{"}${entityDescriptor.valuesGetter}${r"}"}" var="${entityDescriptor.id?replace(".","_")}Item" itemValue="${r"#{"}${entityDescriptor.id?replace(".","_")}Item${r"}"}" itemLabel="${r"#{"}${entityDescriptor.id?replace(".","_")}Item.name${r"}"}"/>
</p:selectOneMenu>
<#elseif entityDescriptor.relationshipMany>
<p:selectManyMenu styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${entityDescriptor.name}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}">
<f:selectItems value="${r"#{"}${entityDescriptor.valuesGetter}${r"}"}" var="${entityDescriptor.id?replace(".","_")}Item" itemValue="${r"#{"}${entityDescriptor.id?replace(".","_")}Item${r"}"}"/>
</p:selectManyMenu>
<#elseif entityDescriptor.id != "id" && entityDescriptor.id != "version">
</#list>
entityDescriptor
具有 entityDescriptor.blob
或 entityDescriptor.relationshipOne
等字段,我在哪里可以找到这些可能的变量,如 blob、id、valuesGetter 或 relationshipOne?
我检查了 freemarker.jar 来源和他们的网站文档,但它似乎更可能与 netbeans 向导有关。
ps:我正在寻找 ManyToMany 条件并在它之前询问它,无论如何它是模糊的或误导的。
这取决于数据模型的实现细节,但通常如果你能做到entityDescriptor.blob
,那么entityDescriptor?keys
应该给出一个包含"blob"
等的列表。要掌握的想法是,在 FTL 中 entityDescriptor.blob
和 entityDescriptor["blob"]
完全相同,所以 entityDescriptor
有点像带有 String
键的 Map
(即使它是不一定是 Map
,FTL 认为它与此类似)。因此,您甚至可以将键值对列为 <#list entityDescriptor as k, v>
,正如您自然希望从类似 Map
的对象中得到的那样。
我正在使用 netbeans freemarker 从实体 类 生成 JSF 页面。 在 list.ftl 文件中我有
<#list entityDescriptors as entityDescriptor>
<#if entityDescriptor.id != "id" && entityDescriptor.id != "version">
<div class="ui-g-12 ui-md-6 ui-lg-4">
<p:outputLabel styleClass="template-labels"
value="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}" for="@next" />
<#if entityDescriptor.dateTimeFormat?? && entityDescriptor.dateTimeFormat != "">
<p:inputMask mask="9999/99/99" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
converter="JalaliDateConverter" onfocus="serp.showDatePicker(this)" styleClass="PersianDate template-fields" title="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.returnType?matches(".*[Bb]+oolean")>
<p:selectBooleanCheckbox styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}"
value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.blob>
<p:inputTextarea styleClass="template-fields" id="${entityName}_editForm_textArea" rows="4" cols="30" id="${entityDescriptor.id?replace(".","_")}"
value="${r"#{"}${entityDescriptor.name}${r"}"}" title="${r"#{"}${bundle}.${entityDescriptor.id?replace(".","_")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}"/>
<#elseif entityDescriptor.relationshipOne>
<p:selectOneMenu styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${managedBean}.selected${entityName}.${entityDescriptor.name?replace("item.","")}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}">
<f:selectItem itemLabel="${r"#{"}${bundle}.SelectOneMessage${r"}"}"/>
<f:selectItems value="${r"#{"}${entityDescriptor.valuesGetter}${r"}"}" var="${entityDescriptor.id?replace(".","_")}Item" itemValue="${r"#{"}${entityDescriptor.id?replace(".","_")}Item${r"}"}" itemLabel="${r"#{"}${entityDescriptor.id?replace(".","_")}Item.name${r"}"}"/>
</p:selectOneMenu>
<#elseif entityDescriptor.relationshipMany>
<p:selectManyMenu styleClass="template-fields" id="${entityName}_editForm_${entityDescriptor.id?replace(".","_")}" value="${r"#{"}${entityDescriptor.name}${r"}"}"
disabled="${r"#{"}!${managedBean}.${entityName?uncap_first}Editable${r"}"}">
<f:selectItems value="${r"#{"}${entityDescriptor.valuesGetter}${r"}"}" var="${entityDescriptor.id?replace(".","_")}Item" itemValue="${r"#{"}${entityDescriptor.id?replace(".","_")}Item${r"}"}"/>
</p:selectManyMenu>
<#elseif entityDescriptor.id != "id" && entityDescriptor.id != "version">
</#list>
entityDescriptor
具有 entityDescriptor.blob
或 entityDescriptor.relationshipOne
等字段,我在哪里可以找到这些可能的变量,如 blob、id、valuesGetter 或 relationshipOne?
我检查了 freemarker.jar 来源和他们的网站文档,但它似乎更可能与 netbeans 向导有关。
ps:我正在寻找 ManyToMany 条件并在它之前询问它,无论如何它是模糊的或误导的。
这取决于数据模型的实现细节,但通常如果你能做到entityDescriptor.blob
,那么entityDescriptor?keys
应该给出一个包含"blob"
等的列表。要掌握的想法是,在 FTL 中 entityDescriptor.blob
和 entityDescriptor["blob"]
完全相同,所以 entityDescriptor
有点像带有 String
键的 Map
(即使它是不一定是 Map
,FTL 认为它与此类似)。因此,您甚至可以将键值对列为 <#list entityDescriptor as k, v>
,正如您自然希望从类似 Map
的对象中得到的那样。