DAO代码
public List<UserBean> list() throws SQLException {
Connection con = null;
ResultSet rs = null;
List<UserBean> retbean = new ArrayList<UserBean>();
try {
con = dataSource.getConnection();
PreparedStatement statement = con.prepareStatement("select username from customer");
rs = statement.executeQuery();
while (rs.next()) {
rb.setUsername(rs.getString("username"));
retbean.add(rb);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return retbean;
}
}
控制器代码
@RequestMapping(value = "doLogin")
public ModelAndView doLogin(@ModelAttribute @Valid UserBean
userBean, BindingResult result) {
ModelAndView view = new ModelAndView("login");
if (!result.hasFieldErrors()) {
if (!combatService.authenticateUser(userBean)) {
result.addError(new ObjectError("err", "Invalid Credentials"));
} else {
if (retrieveService.list(userBean) != null) {
view.setViewName("welcomes");
}
}
}
return view;
}
实际上,如果我登录,它将进入欢迎页面,要从数据库中检索数据以在js的欢迎页面中显示
答案 0 :(得分:0)
使用angularJs的$ http服务。
$http.get("/your_url").then(function(data){
//do something with data here.
}, function(err){
});
然后在您的Controller中为返回数据的url添加一个映射。
@RequestMapping("/your_url")
public @ResponseBody List<UserBean> list() throws SQLException{
return myDao.list();
}
// By Convention you should not directly call DAO from controller use services and delegates
答案 1 :(得分:0)
欢迎使用Stackoverflow。首先,您应该通过控制器访问DAO。因此,您应该在控制器内部编写一个新方法,该方法将与DAO对话,并通过JSON将数据提供给客户端代码(对您来说,是成角的)。
答案 2 :(得分:0)
根据您使用的Spring版本,您可以执行以下操作:
@RestController
组合了@Controller
和@ResponseBody
注释。通过使用它,您可以省略@ResponseBody
批注。
@GetMapping
替换了@RequestMapping(method = GET)
。
@RestController
public class SampleController {
// autowire myDao object
@GetMapping("/your_url")
public ResponseEntity<List<UserBean>> list() {
return ResponseEntity.ok(myDao.list());
}
}