通过AJAX调用Java方法

时间:2015-02-24 10:54:16

标签: java jquery ajax jsp servlets

实际上我已经阅读了一段时间,但我无法理解它。 这是Servlet的一小部分" ProcessNurseApp" :

if (dbm.CheckExRegNumber(Candidate.getRegNumber()) == true) {

            // Show him an alert and stop him from applying.    
            out.println("<script>\n"
                    + "     alert('You already Applied');\n"
                    + "</script>");
            out.println("<script>\n"
                    + "     window.history.go(-1);\n"
                    + "</script>");
        }

所以当表单名为&#34; ApplicationForm&#34;在&#34; Nurses.jsp&#34;得到提交后,它会在一些Javascript验证后转到servlet中的那个方法。

我的问题是我想调用该方法 if (dbm.CheckExRegNumber(Candidate.getRegNumber()) == true) 在JSP页面中没有访问servlet所以我可以在不刷新页面的情况下更新值。我一直在阅读使用带有jQuery的ajax将是最好的方法,所以任何人都可以帮助我通过AJAX从jQuery调用上面的if语句。

2 个答案:

答案 0 :(得分:1)

尝试对servlet进行ajax调用(不可调用servlet),检查函数是返回true还是false,然后根据值返回一个标志(true或false)。在此基础上,您可以显示警报或其他任何内容。

对于ajax调用,您可以使用:

$.post( "ajax/Servlet_Url", function( data ) {  if(data==true)  alert("You already Applied"); else  window.history.go(-1);});

有关jQuery帖子请求的详细信息,请参阅以下链接。

https://api.jquery.com/jquery.post/

答案 1 :(得分:-1)

jQuery(document).ready(function($) { 
$("#searchUserId").attr("placeholder", "Max 15 Chars");
$("#searchUserName").attr("placeholder", "Max 100 Chars");
$.ajax({
    url:"../../jsp/user/userMaster.do",
    data: { drpType : 'userType',lookType : "1" },
    success: function (responseJson) {
            var myvalue = document.getElementById("userTypeKey");
            for(var val in responseJson) 
              {     
                  valueType = val;   
                  textOptions =  responseJson[val];
                  var option = document.createElement("option");
                  option.setAttribute("value",valueType);
                  option.text = textOptions;
                    myvalue.add(option);
                    if(valueType == myvalue.value)
                    {
                        option.selected = "selected";
                    }
               }
        }
    });

});