我正在尝试用Java制作一个Web应用程序,该Web应用程序连接到数据库并向用户显示一个表。
我对这段HTML代码有疑问,但是我相信这只是早期编码的结果。
因此大括号({{user.name}}
等)中的代码带有下划线并显示为“未解析的变量”
我不知道问题出在哪里,所以我将角度方法和Java代码粘贴到与应该在本地主机中显示的用户的列表中。
这是我尝试重写的github中的代码,但我没有向旅馆显示用户。
HTML代码:
<!-- Display users in a table -->
<table class="table">
<thead>
<tr>
<th>Name</th>
<th>Surname</th>
<th>Login</th>
<th>Is Deleted?</th>
<th style="width: 90px"></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in vm.users">
<td>{{user.name}}</td>
<td>{{user.surname}}</td>
<td>{{user.login}}</td>
<td>{{user.isDeleted}}</td>
<td>
<button class="btn btn-danger" ng-click="vm.deleteUser(user.id)">Delete</button>
</td>
</tr>
</tbody>
</table>
JavaScript(角度):
angular
.module('app')
.controller('UserController', UserController);
UserController.$inject = ['$http'];
function UsersController($http) {
var vm = this;
vm.users = [];
vm.getAll = getAll;
vm.deleteUser = deleteUser;
init();
function init(){
getAll();
}
function getAll(){
var url = "/users/all";
var usersPromise = $http.get(url);
usersPromise.then(function(response){
vm.users = response.data;
});
}
function deleteUser(id){
var url = "/users/delete/" + id;
$http.post(url).then(function(response){
vm.users = response.data;
});
}
}
Java:
@Component
public class DatabaseSeeder implements CommandLineRunner {
private UserRepository userRepository;
@Autowired
public DatabaseSeeder(UserRepository userRepository){
this.userRepository = userRepository;
}
@Override
public void run(String... strings) throws Exception {
List <Users> users = new ArrayList<>();
users.add(new Users("John", "Kowalski", "john332", false));
users.add(new Users( "Debby", "Ryan", "debbs84", false));
users.add(new Users( "Michael", "Smith", "grizzly98", false));
userRepository.saveAll(users);