pheromix
pheromix

Reputation: 19347

How to get Java boolean in javascript?

I want to make an ajax call from a jsp :

<script type="text/javascript">

    function isTablePkUsedInFk(table_, pkVal) {

        var url_ = "<c:url value='/ajaxIsTablePkUsedInFk' />";

        var ret = $.ajax({
            data : {"table" : table_ , "pkVal" : pkVal},
            type : "POST",
            url  : url_,
            async: false
        }).responseText;

        ret = $.trim(ret);

        return ret;

    }

</script>

In the controller :

@Controller
@RequestMapping("/")
public class Home {

    @Autowired
    private Environment env;

    @Autowired
    private UtilisateurDAO utilisateurDao;

    @Autowired
    private MenuDAO menuDao;

    @Autowired
    private DbDAO dbDao;

    @RequestMapping(value = "/ajaxIsTablePkUsedInFk", method = RequestMethod.POST)
    @ResponseBody
    public boolean ajaxIsTablePkUsedInFk(HttpServletRequest request) {
        String table = request.getParameter("table");
        String pkVal = request.getParameter("pkVal");
        return dbDao.isTablePkUsedInFk(table, pkVal);
    }

}

In runtime nothing happens when I call the javascript function isTablePkUsedInFk ! So how to get the Java boolean in javascript ?

Upvotes: 0

Views: 1433

Answers (2)

funky-nd
funky-nd

Reputation: 709

Try response.tablePkUsedInFk instead of response.isTablePkUsedInFk

Upvotes: 0

Subhrajyoti Majumder
Subhrajyoti Majumder

Reputation: 41240

You can not return primitive from rest controller. Controller can returns a String object representing this Boolean's value.

@ResponseBody
public String ajaxIsTablePkUsedInFk(HttpServletRequest request) {
  ...
  return Boolean.toString(dbDao.isTablePkUsedInFk(table, pkVal));
}

Upvotes: 5

Related Questions