- - Chuyển đổi số
An error occurred while processing the template.
The following has evaluated to null or missing: ==> name [in template "20115#20151#166913" at line 48, column 54] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${htmlUtil.escape(name.getData())} [in template "20115#20151#166913" at line 48, column 36] ----
1<style scoped="scoped">
2 .h2 {
3 display: none;
4 font-size: 30px;
5 }
6
7 .title-information {
8 padding-top: 10px;
9 color: black;
10 font-size: 14px;
11 font-style: normal;
12 font-weight: bold;
13 font-family: Arial, Helvetica, sans-serif;
14 text-decoration: none;
15 text-transform: uppercase;
16 margin-bottom: 5px
17 }
18
19 .button-back {
20 margin-top:20px;
21 margin-bottom:20px;
22 margin-left: 20px;
23 }
24
25 .journal-content-article {
26 font-size: 14px;
27 }
28</style>
29
30<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() />
31<#assign themeDisplay = serviceContext.getThemeDisplay() />
32<#assign journalLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
33<#assign articleobj = journalLocalService.getArticle(groupId, .vars["reserved-article-id"].data) />
34<#assign articlePrimKey = articleobj.getResourcePrimKey() />
35
36<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
37<#assign articleCates = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) />
38
39<div class="title-information"> Thông tin ý kiến</div>
40<table class="table table-bordered">
41 <tr>
42 <td colspan="2">
43 Chủ đề: ${htmlUtil.escape(.vars['reserved-article-title'].data)}
44 </td>
45 </tr>
46 <tr>
47 <td>
48 Người gửi: ${htmlUtil.escape(name.getData())}
49 </td>
50 <td>
51 Email: ${htmlUtil.escape(email.getData())}
52 </td>
53 </tr>
54 <tr>
55 <td>
56 Địa chỉ: ${htmlUtil.escape(address.getData())}
57 </td>
58 <td>
59 Số điện thoại: ${htmlUtil.escape(phone.getData())}
60 </td>
61 </tr>
62 <tr>
63 <td>
64 Giới tính:
65 <#assign gendersValue = gender.getData()>
66 <#if gendersValue?contains("value 2")>
67 Nam
68 <#else>
69 Nữ
70 </#if>
71 </td>
72 <td>
73 Năm sinh: ${htmlUtil.escape(birthDate.getData())}
74 </td>
75 </tr>
76 <tr>
77 <td>
78 Lĩnh vực: <#list articleCates as aCate> ${aCate.getName()} </#list>
79 </td>
80 <td>
81 Ngày gửi: ${dateUtil.getDate(articleobj.getCreateDate(), "dd/MM/yyyy", locale)}
82 </td>
83 </tr>
84 <tr>
85 <td>
86 Tài liệu đính kèm:
87 </td>
88 <td>
89 <#if validator.isNotNull(attachment.getData())>
90 <a href="${attachment.getData()}">
91 ${languageUtil.format(locale, "download-x", "File đính kèm", false)}
92 </a>
93 <#else>
94 Không có tài liệu đính kèm
95 </#if>
96 </td>
97 </tr>
98 <tr>
99 <td colspan="2">
100 Nội dung: ${content.getData()}
101 </td>
102 </tr>
103</table>
104
105<div class="title-information"> Thông tin phản hồi</div>
106
107<table class="table table-bordered">
108 <tr>
109 <td>
110 Người phản hồi: ${htmlUtil.escape(answerRespondent.getData())}
111 </td>
112 </tr>
113 <tr>
114 <td>
115 Trả lời: ${htmlUtil.escape(answer.getData())}
116 </td>
117 </tr>
118 <tr>
119 <td>
120 <#if validator.isNotNull(attachmentAnswer.getData())>
121 <a href="${attachmentAnswer.getData()}">
122 ${languageUtil.format(locale, "download-x", "File đính kèm", false)}
123 </a>
124 <#else>
125 Không có tài liệu đính kèm
126 </#if>
127 </td>
128 </tr>
129</table>