2012-02-14 36 views
4

テーブルの内容を表示するjspページがあります。 ユーザーがページを表示しているときに、テーブルの内容が2秒ごとに変化します。 そのため、毎回ページを更新して新鮮なコンテンツや更新されたコンテンツを表示する必要があります。 jspページの内容を更新するには、ページを更新する必要はありません。 gmail.comのような機能が欲しかったのは、メールボックスのサイズがユーザーの爽やかさを増やさずに増加し続けるということです。jspページのコンテンツを更新せずに更新する

答えて

7

Ajax(jQueryが私の推奨する方法です)を使用して調べる必要があります。

http://api.jquery.com/jQuery.get/

http://api.jquery.com/jQuery.post/

これは、ページを更新せず、必要なデータを返すコントローラを打つでしょう。

だから、あなたはあなたのコントローラでlogin.jspを...

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ page session="true" %> 
<html> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<head> 
    <title>Login</title> 
</head> 
<body> 
<h1> 
    Hello please login to this application 
</h1> 
<script> 

     function login(){ 
      var username = $("#username").val(); 
      var password = $("#password").val(); 

      $.post('login', { username : username , password : password }, function(data) { 
       $('#results').html(data).hide().slideDown('slow'); 
      }); 
     } 

</script> 
Username : <input id="username" type="text" /> 
Password : <input id="password" type="password" /> 
<input name="send" type="submit" value="Click me" onclick="login()" /> 
<form name="next" action="auth/details" method="get"> 
    <input name="send" type="submit" value="Go Through"/> 
</form> 
<div id="results" /> 
</body> 
</html> 

を持っていた場合たとえば、あなたはその後、モデルを打つだろうが、簡単にするために、私は非常に簡単な例をやりました。.. 。

/** 
* Handles requests for the application home page. 
*/ 
@Controller 
public class LoginController { 

    private static final Logger logger = LoggerFactory.getLogger(LoginController.class); 

    Util util; 

    /** 
    * Simply selects the home view to render by returning its name. 
    */ 
    @RequestMapping(value = "/login", method = RequestMethod.POST) 
    public String home(Locale locale, Model model, String username, String password) { 


     if(username.equalsIgnoreCase("david")) 
     { 
      model.addAttribute("validUser", "Welcome " + username); 

      return "home"; 
     } 
     else 
     { 
      model.addAttribute("validUser", "Incorrect username and password"); 
      return "home"; 
     } 

    } 

} 

これは、それが有効だと、家庭用のコードは以下であると言ってdiv要素にHTMLの遅いスクロールビットを追加します...

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ page session="true" %> 
<html> 
<body> 
<P> ${validUser}. </P> 
</body> 
</html> 
+0

同じようにjspページのサンプルを提供できますか? –

+0

重要なビットを追加したサンプルは$ .post ... – david99world

2

ajaxをリクエストしてサーバーからデータを取得し、Javaスクリプトを使用してそのデータをビューにレンダリングすることができます

+1

同じことをするjspページのサンプルを提供できますか? –

関連する問題