2016-11-02 3 views
0

私は、JSPからAJAX呼び出しを作りたい:javascriptでJavaブール値を取得するには?

<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> 

コントローラでは:私はjavascript関数isTablePkUsedInFkを呼び出したときに、ランタイムで

@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); 
    } 

} 

何も起こりません!だからどのようにJavaのブール値を取得するjavascript?

答えて

5

残りのコントローラからプリミティブを返すことはできません。コントローラは、このブール値を表すStringオブジェクトを返すことができます。

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

https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html#toString-([ 'Boolean.toString(...を)']使用することをお勧めブール - )。文字列化するために 'Boolean'オブジェクトを作成する必要はありません。 – Andreas

+0

意味がある... @アンドレアス –

+0

ブール値の代わりにブール値を返すことはできますか? – omerhakanbilici

関連する問題