Reja: Template engine


Download 2.27 Mb.
Pdf ko'rish
bet3/3
Sana13.11.2023
Hajmi2.27 Mb.
#1771066
1   2   3
Bog'liq
9-Template engine

VelocityEngine
velocityEngine

new
VelocityEngine
(); 
velocityEngine.init(); 
Template
t
= velocityEngine.getTemplate(
"index.vm"
); 
VelocityContext
context

new
VelocityContext
(); 
context.put(
"name"

"World"
); 
StringWriter
writer

new
StringWriter
(); 
t.merge( context, writer );
Velocity


Velocity Maven Dependencies
Velocity bilan ishlash uchun biz loyihamizga quyidagi maven dependencylarni qo`shishimiz kerak:
<
dependency

<
groupId
>org.apache.velocitygroupId

<
artifactId
>velocityartifactId

<
version
>1.7version

dependency

<
dependency

<
groupId
>org.apache.velocitygroupId

<
artifactId
>velocity-toolsartifactId

<
version
>2.0version

dependency
>


Velocity Template Language (VTL) VTL havolalaridan foydalangan holda veb-sahifaga
dinamik tarkibni kiritishning eng oddiy va eng toza usulini taqdim etadi.
Velocity Template dagi VTL ma'lumotnomasi $ belgisi bilan boshlanadi va ushbu havola
bilan bog`liq qiymatni olish uchun ishlatiladi. VTL shuningdek, Java kodining chiqishini
manipulyatsiya qilish uchun ishlatilishi mumkin bo`lgan ko`rsatmalar to`plamini taqdim
etadi. Ushbu direktivalar # bilan boshlanadi.
Velocity Template Language 


Velocity References
Velocityda, o`zgaruvchilar, xususiyatlar va methodlarda uch turdagi havolalar mavjud:
• variables - sahifada #set direktivasi yoki Java ob`ekti maydonidan qaytarilgan qiymat yordamida 
aniqlanadi:
#set ($message="Hello World")
• properties - ob`ekt ichidagi fieldlarga murojaat qilish, ular mulkning getter usuliga ham murojaat 
qilishlari mumkin :
$customer.name
• methodlar - Java ob`ektidagi methodga qarang:
$customer.getName()
Har bir ma`lumotnomadan olingan yakuniy qiymat yakuniy natijaga aylantirilganda satrga 
aylanadi.


Directives
VTL ko`rsatmalarning boy to`plamini taqdim etadi:
• set – u mos yozuvlar qiymatini o`rnatish uchun ishlatilishi mumkin, bu qiymat o`zgaruvchiga yoki 
xususiyatga havolaga tayinlanishi mumkin:
• conditionals - #if, #elseif va #else direktivalari shartli tekshiruvlar asosida tarkibni yaratish usulini ta`minlaydi:


• loops - #foreach direktivasi ob`ektlar to`plami bo`ylab aylanish imkonini beradi:
• include – #include elementi shablonga fayllarni import qilish imkoniyatini beradi:
• parse - #parse bayonoti template dizayneriga VTL o`z ichiga olgan boshqa mahalliy faylni import 
qilish imkonini beradi. Velocity keyin tarkibni tahlil qiladi va uni ko`rsatadi:
Directives


Directives
evaluate - #evaluate direktivasi VTL ni dinamik ravishda baholash uchun ishlatilishi mumkin. Bu shablonga 
ko`rsatish vaqtida Stringni baholash imkonini beradi, masalan, shablonni xalqarolashtirish uchun:
•break – #break direktivasi joriy bajarilish doirasini keyingi ko`rsatishni to`xtatadi (ya`ni #foreach #parse )
•stop - #stop direktivasi shablonni keyingi ko`rsatish va bajarilishini to`xtatadi.
•velocimacros – #makros direktivasi shablon dizayneriga VTL ning takroriy segmentini aniqlash imkonini 
beradi


Ushbu makros endi templatening istalgan joyiga # tablerows() sifatida joylashtirilishi mumkin:
Directives
Qo`shimcha ma`lumot: 
https://www.baeldung.com/apache-velocity


E`TIBORINGIZ UCHUN RAHMAT!

Download 2.27 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling