写出对应的民航系统HTML页面和后端controller接口,包括输入框输入航班号,日期选择,点击查询按钮,发送对应请求到后端,并将后端返回的数据渲染到HTML页面上
时间: 2023-11-26 09:06:24 浏览: 146
下面是一个简单的民航系统HTML页面和后端controller接口的示例,其中包括输入框输入航班号,日期选择,点击查询按钮,发送对应请求到后端,并将后端返回的数据渲染到HTML页面上。
HTML页面:
```
<!DOCTYPE html>
<html>
<head>
<title>民航系统</title>
</head>
<body>
<h1>航班信息查询</h1>
<form method="get" action="/flight">
<label for="flightNumber">航班号:</label>
<input type="text" id="flightNumber" name="flightNumber"><br><br>
<label for="date">日期:</label>
<input type="date" id="date" name="date"><br><br>
<button type="submit">查询</button>
</form>
<br>
<h2>查询结果</h2>
<table>
<tr>
<th>航班号</th>
<th>起飞时间</th>
<th>到达时间</th>
<th>出发城市</th>
<th>到达城市</th>
</tr>
<tbody id="flightTable"></tbody>
</table>
<script>
// 发送查询请求
document.querySelector('form').addEventListener('submit', function(event) {
event.preventDefault();
const flightNumber = document.querySelector('#flightNumber').value;
const date = document.querySelector('#date').value;
const url = `/flight?flightNumber=${flightNumber}&date=${date}`;
fetch(url)
.then(response => response.json())
.then(data => {
// 渲染查询结果
const flightTable = document.querySelector('#flightTable');
flightTable.innerHTML = '';
data.forEach(flight => {
const row = document.createElement('tr');
row.innerHTML = `
<td>${flight.flightNumber}</td>
<td>${flight.departureTime}</td>
<td>${flight.arrivalTime}</td>
<td>${flight.departureCity}</td>
<td>${flight.arrivalCity}</td>
`;
flightTable.appendChild(row);
});
})
.catch(error => console.error(error));
});
</script>
</body>
</html>
```
后端controller接口:
```
@Controller
public class FlightController {
@Autowired
private FlightService flightService;
@GetMapping("/flight")
@ResponseBody
public List<Flight> queryFlight(@RequestParam String flightNumber, @RequestParam String date) {
List<Flight> flights = flightService.queryByFlightNumberAndDate(flightNumber, date);
return flights;
}
}
```
在上面的代码中,我们使用了GetMapping注解来标注查询航班信息的控制器方法,请求路径为“/flight”。该方法接受两个参数,即航班号和日期,使用@RequestParam注解来指定参数名称。
在方法体中,我们调用flightService对象的queryByFlightNumberAndDate()方法查询航班信息,将结果保存在flights变量中,然后通过@ResponseBody注解将结果转换为JSON格式并返回给客户端。
在HTML页面中,我们使用了fetch API来发送查询请求,将输入的航班号和日期作为查询参数,通过URL传递给后端controller接口。当后端返回查询结果时,我们将其转换为JSON格式并渲染到HTML页面上。
阅读全文