jfinal的ajax例子

@(編程)javascript

簡介

JFinal 是基於 Java 語言的極速 WEB + ORM 框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。 在擁有Java語言全部優點的同時再擁有ruby、python、php等動態語言的開發效率!爲您節約更多時間,去陪戀人、家人和朋友 :)php

JFinal有以下主要特色:html

  • MVC架構,設計精巧,使用簡單
  • 遵循COC原則,零配置,無xml
  • 首創Db + Record模式,靈活便利
  • ActiveRecord支持,使數據庫開發極致快速
  • 自動加載修改後的java文件,開發過程當中無需重啓web server
  • AOP支持,攔截器配置靈活,功能強大
  • Plugin體系結構,擴展性強
  • 多視圖支持,支持FreeMarker、JSP、Velocity
  • 強大的Validator後端校驗功能
  • 功能齊全,擁有struts2的絕大部分功能
  • 體積小僅248K,且無第三方依賴

jfinal action

Controller
Controller 是 JFinal 核心類之一, 該類做爲 MVC 模式中的控制器。 基於 JFinal 的 Web 應
用的控制器須要繼承該類。 Controller 是定義 Action 方法的地點,是組織 Action 的一種方式,
一個 Controller 能夠包含多個 Action。 Controller 是線程安全的。前端

Action
Controller 以及在其中定義的 public 無參方法稱爲一個 Action。 Action 是請求的最小單位。
Action 方法必須在 Controller 中聲明,該方法必須是 public 可見性且沒有形參。java

public class HelloController extends Controller {
public void index() {
renderText("此方法是一個action");
}
public void test() {
renderText("此方法是一個action");
}
}

以上代碼中定義了兩個 Action: HelloController.index()、 HelloController.test()。 在 Controller
中提供了 getPara、 getModel 系列方法 setAttr 方法以及 render 系列方法供 Action 使用。python

getPara 系列方法
Controller提供了 getPara系列方法用來從請求中獲取參數。getPara系列方法分爲兩種類型。
第 一 種 類 型 爲 第 一 個 形 參 爲 String 的 getPara 系 列 方 法 。 該 系 列 方 法 是 對
HttpServletRequest.getParameter(String name) 的 封 裝 , 這 類 方 法 都 是 轉 調 了
HttpServletRequest.getParameter(String name)。 第二種類型爲第一個形參爲 int 或無形參的
getPara 系列方法。 該系列方法是去獲取 urlPara 中所帶的參數值。 getParaMap 與 getParaNames
分別對應 HttpServletRequest 的 getParameterMap 與 getParameterNames。jquery

普通的ajax例子

服務器端代碼web

public void ajaxTest() {
        this.renderJson("my name is keke");
    }

前端代碼ajax

<html>
<head>
<script type="text/javascript">
    function loadXMLDoc() {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "/blog/ajaxTest", true);
        xmlhttp.send();
    }
</script>
</head>
<body>

    <h2>AJAX</h2>
    <button type="button" onclick="loadXMLDoc()">請求數據</button>
    <div id="myDiv"></div>

</body>
</html>

有參數的ajax例子

服務器端代碼數據庫

public void gethint() {
        String para = this.getPara("q");
        if ("1".equals(para)) {
            this.renderJson("my name is keke");
        } else {
            this.renderJson("you are not keke");
        }

    }

前端代碼

<html>
<head>
<script type="text/javascript">
    function showHint(str) {
        var xmlhttp;
        if (str.length == 0) {
            document.getElementById("txtHint").innerHTML = "";
            return;
        }
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "/blog/gethint?q=" + str, true);
        xmlhttp.send();
    }
</script>
</head>
<body>

    <h3>請在下面的輸入框中鍵入字母(A - Z):</h3>
    <form action="">
        姓氏:<input type="text" id="txt1" onkeyup="showHint(this.value)" />
    </form>
    <p>
        建議:<span id="txtHint"></span>
    </p>

</body>
</html>

用jQuery實現的ajax例子

服務器端代碼

public void ajaxTest() {
        this.renderJson("my name is keke");
    }

前端代碼

<!DOCTYPE html>
<html>
<head>
<script src="/js/jquery-1.4.4.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.get("/blog/ajaxTest",function(data,status){
        alert(data);
    });
  });
});
</script>
</head>
<body>

<button>向頁面發送 HTTP GET 請求,而後得到返回的結果</button>

</body>
</html>
相關文章
相關標籤/搜索