如何在angular js ng-grid中访问DAO到Contoller到UI的数据

时间:2018-09-21 05:30:55

标签: java spring angular

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的欢迎页面中显示

3 个答案:

答案 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());
    }
}