Skip to content

Commit bd0cadb

Browse files
Replace dynamic HTML generation with JTE template rendering #7 (#50)
* Replace dynamic HTML generation with JTE template rendering #7
1 parent bd1bc93 commit bd0cadb

2 files changed

Lines changed: 27 additions & 10 deletions

File tree

‎web-backend/src/main/java/com/statusneo/vms/controller/VisitorController.java‎

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@
2525
import com.statusneo.vms.repository.VisitRepository;
2626
import com.statusneo.vms.repository.VisitorRepository;
2727
import com.statusneo.vms.service.*;
28+
import gg.jte.TemplateEngine;
29+
import gg.jte.output.StringOutput;
2830
import org.slf4j.Logger;
2931
import org.slf4j.LoggerFactory;
3032
import org.springframework.beans.factory.annotation.Autowired;
3133
import org.springframework.http.HttpStatus;
3234
import org.springframework.http.ResponseEntity;
35+
import org.springframework.ui.Model;
3336
import org.springframework.web.bind.annotation.*;
3437

3538
import java.time.LocalDateTime;
@@ -63,6 +66,12 @@ public class VisitorController {
6366
@Autowired
6467
private ExcelService excelService;
6568

69+
@Autowired
70+
private TemplateEngine templateEngine;
71+
72+
73+
74+
6675
private final Map<String, Visitor> pendingVisitors = new HashMap<>();
6776

6877
// @PostMapping("/register")
@@ -141,20 +150,14 @@ public ResponseEntity<String> validateOtp(
141150
// }
142151

143152
@GetMapping("/search")
144-
public String searchEmployees(@RequestParam("employee") String query) {
153+
public String searchEmployees(@RequestParam("employee") String query, Model model) {
145154
logger.info("Received search request for employee: {}", query);
146155
List<Employee> employees = employeeService.searchEmployeesByName(query);
147-
StringBuilder html = new StringBuilder();
148-
for (Employee employee : employees) {
149-
html.append("<li class='px-3 py-2 hover:bg-gray-100 cursor-pointer' onclick='selectEmployee(\"")
150-
.append(employee.getName())
151-
.append("\")'>")
152-
.append(employee.getName())
153-
.append("</li>");
154-
}
155-
return html.toString();
156+
model.addAttribute("employees", employees);
157+
return "employeeSearchResults";
156158
}
157159

160+
158161
@PostMapping("/saveVisitor")
159162
public ResponseEntity<String> saveVisitor(@RequestBody Visitor visitor) {
160163
try {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@import com.statusneo.vms.model.Employee
2+
@import java.util.List
3+
@param List<Employee> employees
4+
5+
@if (employees.isEmpty())
6+
<li class="px-3 py-2 text-gray-400">No employees found.</li>
7+
@else
8+
@for (Employee employee : employees)
9+
<li class="px-3 py-2 hover:bg-gray-100 cursor-pointer"
10+
onclick="selectEmployee('@{employee.getName()}')">
11+
${employee.getName()}
12+
</li>
13+
@endfor
14+
@endif

0 commit comments

Comments
 (0)