Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160

    [Java/JSON] Post asincrona

    Buondì a tutti, sto smanettando un po' con java, spring, jsp...e adesso mi trovo davanti ad un problema.

    In poche parole ho gestito una mia jsp con form di login usando spring e gestendola nel seguente modo:

    codice:
    @RequestMapping(method = RequestMethod.POST)
    	public ModelAndView formRedirect(@RequestParam("username") String user,
    			@RequestParam("password") String pass, Model model) {
    
    		utente.setUsername(user);
    		utente.setPassword(pass);
    
    		if ("ciccio".equals(user)) {
    			Map<String, String> loginData = new HashMap<String, String>();
    			String usr = user.substring(0, 1).toUpperCase()
    					+ user.substring(1, user.length()).toLowerCase();
    			loginData.put("username", usr);
    			loginData.put("password", pass);
    			return new ModelAndView("logged/user-home", "login", loginData);
    		} else {
    			model.addAttribute(utente);
    			return new ModelAndView("login", "model", model);
    		}
    	}
    ...dove loginData è una mappa.

    Fino a qui, tutto bene.
    Adesso nella pagina alla quale vengo indirizzato dopo il login, ho creato un altro form con solo una SUBMIT, dove vorrei che al click sul bottone mi venisse mostrata una lista di un elementi presenti in un array.
    Il problema è che non ho ben chiaro come funzioni la chiamata asincrona e sopratutto dove vada ad elaborare la richiesta.
    Questo è il codice JQuery nella mia JSP

    codice:
            $("#userList").submit(function() {
    		var userList = $(this).serializeObject();
    		$.postJSON("userList", userList, function(data) {
    			
    		});
    		return false;				
    	});
    Grazie in anticipo, ciao
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

  2. #2
    Utente di HTML.it L'avatar di Lomio
    Registrato dal
    Jul 2010
    Messaggi
    160

    RISOLTO

    Ho risolto!!!
    Posto il codice, casomai potesse essere utile ad altri

    Pagina JSP
    codice:
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="<c:url value="/scripts/jquery-1.4.min.js" /> "></script>
    <script type="text/javascript" src="<c:url value="/scripts/json.min.js" /> "></script>
    <link rel="stylesheet" href="<c:url value="/styles/user-home.css" />" type="text/css" media="screen, projection">
    <script type="text/javascript">
    $(document).ready(function(){
    	
    	$("#list").click(function() {
    		$("#userListForm").hide("slow");
    		$("#listResult").show("slow");
    	});
    	
    	$("#userList").submit(function() {
    		var userList = $(this).serializeObject();
    		$.postJSON("userList", userList, function(data) {
    			var lista = "";
    			$.each(data, function(i) {
    				var j = i + 1;
    				lista = lista + "[*]"+j+"° - "+ data[i] +"";
    			});
    			$("#listResult").html("<fieldset><legend>Lista Utenti</legend><ul>"+lista+"[/list]</fieldset>");
    		});
    		return false;				
    	});
    	
    });
    </script>
    <title>Welcome <c:out value="${login.username}" /></title>
    </head>
    <body>
    <h3>Benvenuto <c:out value="${login.username}" />!!!</h3>
    
    
    La tua password è : <c:out value="${login.password}" /></p>
    
    <div id="userListForm">
      <form:form id="userList" modelAttribute="userList" action="userList" method="POST">
    	<fieldset>		
    	  <legend>Lista Utenti</legend>
    		
    
    	
    			<input id="list" type="submit" value="     Vedi     " />
    		</p>
    	</fieldset>
      </form:form>
    </div>
    <div id="listResult"></div>
    </body>
    </html>

    Controller
    codice:
    package org.springframework.samples.mvc.ajax.account;
    
    import javax.servlet.http.HttpServletResponse;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    @RequestMapping(value = "/userList")
    public class UserListController {
    
    	@RequestMapping(method = RequestMethod.POST)
    	public @ResponseBody String[] userList(@RequestBody UserList userList, 
    			HttpServletResponse response){
    		return userList.getUserList();
    	}
    }
    Oggetto UserList
    codice:
    package org.springframework.samples.mvc.ajax.account;
    
    public class UserList {
    	
    	String str[] = {"ciccio", "ciccio1", "ciccio2", "ciccio3", "ciccio4"};
    	
    	public String[] getUserList() {
    		return str;
    	}
    
    }
    Saluti...
    La legge e l'ordine saranno rispettati solo quando si concederà la giustizia a tutti indistintamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.