
рдореЗрд░реЗ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдореБрдЭреЗ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ рдбреЙрдХреНрдпреБрдореЗрдВрдЯреНрд╕ рдХреЛ рдЕрдкрдиреЗ рдЖрдк рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ рдерд╛ред рдЕрдиреБрдмрдВрдз рд▓рдЧрднрдЧ 10 рдкреГрд╖реНрдареЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рдиреВрдиреА рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ рдФрд░ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ: рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рдбреЗрдЯрд╛ рд╕рд╣реА рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╛рд░реНрдп
рдкреНрд░рд╛рдердорд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереАрдВ:
рдПрдХ рдЬрдЯрд┐рд▓ рд╢реИрд▓реА рдореЗрдВ рдбреЙрдХреНрдЯрд░ рдпрд╛ рдбреЙрдХреНрдЯрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ, рдЪрд┐рд╣реНрдирд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВредрдЙрдиреНрд╣реЗрдВ рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:
- рдПрдХ рдЬрдЯрд┐рд▓ рд╢реИрд▓реА рд╡рд╛рд▓реЗ рдбреЙрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ, рдЪрд┐рд╣реНрдирд┐рдд рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред
- рдЖрдЙрдЯрдкреБрдЯ рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯ рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
${}, <%%>, <%=%>
ред - рдЖрдЙрдЯрдкреБрдЯ рдбреЗрдЯрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЦреЗрддреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рд┐рдПред
- рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдЧреНрд░реВрд╡реА, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯред
- рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд▓ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред
рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди
рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдЙрддреНрдкрд╛рдж (рдореИрдВ рдЬрд╛рд╡рд╛ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдЬреИрд╕реНрдкрд░ рдХреА рд░рд┐рдкреЛрд░реНрдЯ
рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ xml рдорд╛рд░реНрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ * .jrxml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдорд╛рд░реНрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ + рдбреЗрдЯрд╛ (рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдореИрдк рдкреИрд░рд╛рдореАрдЯрд░ рджреЛрдиреЛрдВ рд╕реЗ) рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ: рдкреАрдбреАрдПрдл, рдПрдХреНрд╕рдПрдордПрд▓, рдПрдЪрдЯреАрдПрдордПрд▓, рд╕реАрдПрд╕рд╡реА, рдПрдХреНрд╕рдПрд▓рдПрд╕, рдЖрд░рдЯреАрдПрдл, TXTред
рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛:
- рдпрд╣ WYSIWYG рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ iReport рдХреЗ рд╕рд╛рде, jrxml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╢реНрдп рдЙрдкрдХрд░рдгред
- рдПрдХ рдЬрдЯрд┐рд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрдЯрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬреИрд╕реНрдкрд░рд░реАрдкреЛрд░реНрдЯреНрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
- рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдкреАрдбреАрдПрдл рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
Docx4java
рдЬрд╛рд╡рд╛-рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЙрдХреНрд╕рдПрдХреНрд╕, рдкреАрдкреАрдПрдХреНрд╕-, рдПрдХреНрд╕рдПрд▓рдПрдХреНрд╕-рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред
рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛:
- Docx4Java рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдорд┐рд▓рд╛рди рдХрд╛ рдХреЛрдИ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред XMLUtils.unmarshallFromTemplate рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдЬреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд░рддрд╛ рд╣реИред
- рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг XML рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ XPath, рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдкрд╛рдЪреЗ POI
рдЬрд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЙрдХреНрдЯрд░, рдкреАрдкреАрдЯреА-, xls- рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдХрд░рдгред рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрди рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛:
- рдХрд╛рд░реНрдп рдХрд╛ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рдирд╛
рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛ :)
1. рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдЬрд╝рд┐рдк рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд xml рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ JDK 6 рдЬрд╝рд┐рдк рд╕реНрдкрд╖реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо) рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЬрдм рдпрд╣ рд╕рдВрдЧреНрд░рд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЯрд╛ docx рдирд┐рдХрд▓рд╛ред рд╕рд╛рдордЧреНрд░реА рдкреИрдХ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде Groovy AntBuilder рдЖрд╡рд░рдг рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
2. рдПрдордПрд╕ рд╡рд░реНрдб рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ xml рдЯреИрдЧ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореБрдЭреЗ рдкрд╣рд▓реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ xml рдЧреИрд╕рдХреЗрдЯ рд╕реЗ рд╕рдлрд╛рдИ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдерд╛ред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ regex рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд╡реЗ рдореБрдЭреЗ SAX рдкрд╛рд░реНрд╕рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рддреЗрдЬрд╝ рд▓рдЧ рд░рд╣реЗ рдереЗ (рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдирд╣реАрдВ рдорд╛рдкрд╛ рдерд╛)ред
3. рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕рд╛рджрдЧреА, рдЬрд╛рд╡рд╛ рдкреНрд░рдХреГрддрд┐ рдФрд░ рдХреЛрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓
рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╡рдЬрд╣ рд╕реЗ рдЧреНрд░реВрд╡реА рдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЙрд╕реЗ рднреА рджрд┐рд▓рдЪрд╕реНрдк рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реБрдИрдВред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ 10-рд╢реАрдЯ рд╡рд╛рд▓реЗ рдЫреЛрдЯреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рднреА, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдХреА рд░реЗрдЦрд╛ рдХреА рд╕реАрдорд╛ рдкрд░ рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрди рд╕рднреА рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ рдЬреЛ UUID рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдЬрд╛рддреЗ рд╣реИрдВ, Groovy рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ UUID рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдореВрд▓ XML рдЯреБрдХрдбрд╝реЛрдВ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред
рдЗрди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рд╛!
рдореИрдВрдиреЗ рдПрдХ рдЕрдВрдЧреНрд░реЗрдЬреА-рднрд╛рд╖рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрдерд▓ рдмрдирд╛рдпрд╛ рдФрд░ рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрддрд╛:
snowindy.github.com/scriptlet4docxрдПрдкреАрдЖрдИ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг
HashMap<String, Object> params = new HashMap<String, Object>(); params.put("name", "John"); params.put("sirname", "Smith"); DocxTemplater docxTemplater = new DocxTemplater(new File("path_to_docx_template/template.docx")); docxTemplater.process(new File("path_to_result_docx/result.docx"), params);
рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖрдкрдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ...
рд▓реЗрдХрд┐рди рд╕рдордЭ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ "рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯ рдкреНрд░рдХрд╛рд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг" рдХреЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдЦрдВрдб рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░реВрдВрдЧрд╛ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯ рдХреЗ рдкреНрд░рдХрд╛рд░, рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг
рдбрд┐рд╕реНрдХреНрд▓реЗрдорд░:
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЧреНрд░реВрд╡реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЧреНрд░реВрд╡реА рдХреЛрдб рдореЗрдВ рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмреАрдЪ рдХрд╛ рдкрд╛рда рдЗрд╕ рддрд░рд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ: out.print('template_text')
$ {рдбреЗрдЯрд╛}
рдбреЗрдЯрд╛ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорддреБрд▓реНрдп:
out.print(data)
<% = рдбреЗрдЯрд╛%>
рдбреЗрдЯрд╛ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорддреБрд▓реНрдп:
out.print(data)
<% any_code%>
рдХрд┐рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛрдб рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕рд╢рд░реНрдд рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
<% if (cond) { %> , "cond == true" <% } else { %> , "cond != true" <% } %>
$ [@ listVar.field]
рдпрд╣ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рддрд░рд╣ рдХреА рдкрдЯрдХрдерд╛ рд╣реИ! рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдбреЙрдХреНрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЯреЗрдмрд▓ рд╕реЗрд▓ рдХреЗ рдЕрдВрджрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд╕реНрддреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рджреЛ рдлрд╝реАрд▓реНрдб рд╣реИрдВ: 'рдирд╛рдо' рдФрд░ 'рдПрдбреНрд░реЗрд╕'ред рд╣рдо рджреЛ рд╕реНрддрдВрднреЛрдВ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
- рдЗрдирдкреБрдЯ рд╡реИрд▓реНрдпреВ рдореИрдк рдореЗрдВ 'personList' рдкреИрд░рд╛рдореАрдЯрд░ рдмрдирд╛рдирд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдбреЙрдХреНрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рджреЛ рдХреЙрд▓рдо рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ред
- рдкрд╣рд▓реА рд╕реЗрд▓ рдореЗрдВ
$[@person.name]
рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; $[@person.address]
- рджреВрд╕рд░реЗ рдореЗрдВред - рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рд╡реНрдпрдХреНрддрд┐ рд╕реВрдЪреА рд╕реВрдЪреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдореБрджреНрд░рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред
рд▓рд╛рдЗрд╡ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдБ рдЭреВрда:
рд▓рд┐рдВрдХ ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕
рдЕрдЧрд░ рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЙрдХреНрд╕ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ:
- рдкреВрд░реНрдг рдХреИрд╢рд┐рдВрдЧ
- рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди
- рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ
рдореБрдЭреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рджрд░реНрд╢рдХреЛрдВ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рддрд░рдг рдореЗрдВ рд╕рд▓рд╛рд╣ рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!