คำถามติดแท็ก freemarker

5
จะตรวจสอบว่าตัวแปรมีอยู่ในเทมเพลต FreeMarker ได้อย่างไร?
ฉันมีเทมเพลต Freemarker ซึ่งมีตัวแทนตัวยึดมากมายซึ่งค่าจะได้รับเมื่อประมวลผลแม่แบบ ฉันต้องการรวมเป็นส่วนหนึ่งของแม่แบบตามเงื่อนไขหากมีการให้ตัวแปรชื่อผู้ใช้สิ่งที่ชอบ: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] อย่างไรก็ตามคู่มือ FreeMarker ดูเหมือนจะบ่งบอกว่า if_exists เลิกใช้แล้ว แต่ฉันไม่สามารถหาวิธีอื่นเพื่อให้ได้สิ่งนี้ แน่นอนฉันสามารถให้ตัวแปรบูลีน isUserName อย่างง่าย ๆ และใช้สิ่งนี้: [#if isUserName] Hi ${userName}, How are you? [/#if] แต่ถ้ามีวิธีตรวจสอบว่ามีชื่อผู้ใช้อยู่หรือไม่ฉันสามารถหลีกเลี่ยงการเพิ่มตัวแปรพิเศษนี้ได้

7
IntelliJ ไม่รู้จักไฟล์ใดไฟล์หนึ่งอย่างถูกต้องแทนที่จะติดอยู่เป็นไฟล์ข้อความ
มีไฟล์ freemarker (ftl) ในโปรเจ็กต์ IntelliJ ของฉันที่จำไม่ถูกต้องว่าเป็นไฟล์ข้อความ มีหลายประเภทเหมือนกันที่ถูกต้อง ฉันทราบถึงตัวเลือก "ทำเครื่องหมายเป็นข้อความ" นี่อาจเป็นเหตุผลดั้งเดิมที่ไฟล์นี้ถูกทำเครื่องหมายเป็นข้อความ แต่ฉันไม่ได้รับตัวเลือก "mark as ftl file" ให้กลับมาหากเป็นปัญหาจริง หากฉันทำเครื่องหมายไฟล์ ftl อื่นเป็น txt ฉันสามารถเปลี่ยนกลับเป็นไฟล์ ftl ได้ตามที่คาดไว้

7
เหตุใดฉันจึงต้องใช้เครื่องมือสร้างเทมเพลต jsp include และ jstl vs tiles, freemarker, velocity, sitemesh
ฉันกำลังจะเลือกวิธีจัดระเบียบมุมมองของฉัน (ด้วย spring-mvc แต่ไม่น่าจะสำคัญเท่าไหร่) มี 6 ตัวเลือกเท่าที่ฉันเห็น (แม้ว่าจะไม่สามารถใช้ร่วมกันได้): กระเบื้อง Sitemesh Freemarker ความเร็ว <jsp:include> <%@ include file=".."> ไทล์และแผนผังเว็บไซต์สามารถจัดกลุ่มได้ เพื่อให้สามารถFreemarkerและความเร็ว ข้อใดในแต่ละกลุ่มที่จะใช้ไม่ใช่ประเด็นของการสนทนานี้มีคำถามและการอภิปรายเกี่ยวกับเรื่องนี้เพียงพอ นี่เป็นการอ่านที่น่าสนใจแต่ไม่สามารถโน้มน้าวให้ฉันใช้กระเบื้องได้ คำถามของฉันคือ - กรอบเหล่านี้ให้อะไรที่ไม่สามารถทำได้อย่างถูกต้อง <@ include file="..">และ JSTL ประเด็นหลัก (บางส่วนนำมาจากบทความ): การรวมบางส่วนของหน้าเช่นส่วนหัวและส่วนท้าย - ไม่มีความแตกต่างระหว่าง: <%@ include file="header.jsp" %> และ <tiles:insert page="header.jsp" /> การกำหนดพารามิเตอร์ในส่วนหัวเช่นชื่อเรื่องเมตาแท็ก ฯลฯ สิ่งนี้สำคัญมากโดยเฉพาะจากมุมมองของ SEO ด้วยตัวเลือกเทมเพลตคุณสามารถกำหนดตัวยึดตำแหน่งที่แต่ละเพจควรกำหนดได้ แต่คุณสามารถใน jsp ด้วยJSTLโดยใช้<c:set>(ในหน้ารวม) และ<c:out>(ในหน้าที่รวม) การจัดโครงสร้างใหม่ …

6
ไฟล์ FTL คืออะไร
ฉันยังใหม่กับโครงการและต้องเรียนรู้จากภายใน ฉันเห็นไฟล์จำนวนมากที่มีนามสกุล.ftlอยู่ในนั้น ฉันไม่แน่ใจว่าพวกเขาคืออะไร ฉันทราบว่าสามารถแก้ไขได้และผู้ใช้เห็นการเปลี่ยนแปลงที่ส่วนหน้า
88 java  freemarker 

7
Freemarker ทำซ้ำบนคีย์แฮชแมป
Freemarker มีประเภทข้อมูลคอลเลกชันสองรายการรายการและแฮชแมปมีวิธีทำซ้ำคีย์แฮชแมปเหมือนกับที่เราทำกับรายการหรือไม่ ดังนั้นถ้าฉันมีตัวแปรที่มีข้อมูลให้พูดว่า: user : { name : "user" email : "looser@everything.com" homepage : "http://nosuchpage.org" } ฉันต้องการพิมพ์คุณสมบัติของผู้ใช้ทั้งหมดพร้อมค่าของพวกเขา สิ่งนี้ไม่ถูกต้อง แต่เป้าหมายชัดเจน: <#list user.props() as prop> ${prop} = ${user.get(prop)} </#list>
87 java  freemarker 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.