我有一個發送POST請求的基本html頁面。在vaadin 7我做以下檢索POST無法從vaadin中的請求獲取用戶名7
request.getParameter("username");
我得到一個空當我這樣做,但是當我做同樣的事情在Vaadin 6我得到的用戶名(「約翰的實際值「 例如)。另外,如果我在我的html代碼中將我的方法更改爲「GET」,我沒有問題並獲得用戶名的值(使用相同的代碼段)。
這是Vaadin 7中的一個錯誤,還是我必須以不同的方式實現它。
我有一個發送POST請求的基本html頁面。在vaadin 7我做以下檢索POST無法從vaadin中的請求獲取用戶名7
request.getParameter("username");
我得到一個空當我這樣做,但是當我做同樣的事情在Vaadin 6我得到的用戶名(「約翰的實際值「 例如)。另外,如果我在我的html代碼中將我的方法更改爲「GET」,我沒有問題並獲得用戶名的值(使用相同的代碼段)。
這是Vaadin 7中的一個錯誤,還是我必須以不同的方式實現它。
我不確定這是否能解決問題,但在某些情況下,類似的方法對我有效。 Vaadin 7
使用VaadinRequest
而vaadin 6
HttpServletRequest
。您可以從VaadinRequest
中提取HttpServletRequest
,然後使用它來獲取參數。如果請求的類型是VaadinRequest
:
VaadinServletRequest vsRequest = (VaadinServletRequest)request;
HttpServletRequest hsRequest = vsRequest.getHttpServletRequest();
String un = hsRequest.getParameter("username");
希望它可以。
我會試試看,並回復你 – abden003
我有同樣的問題。調試顯示Vaadin 7在內部執行兩個請求。第一個請求包含來自URL和來自發布表單的所有參數。第二個,可能是內部重定向,具有來自URL和Vaadin UI相關參數的相同參數。
因此,基本上可以捕獲您發佈的參數,您可以添加RequestHandler,從第一個請求中獲取並可能將其保存在某處,例如在會話中,然後在組件中讀取此存儲的數據。這個解決方案適用於我。
我希望它可以幫助你獲得它。
VaadinRequest vaadinRequest = VaadinService.getCurrentRequest();
logger.error("User Name : "+vaadinRequest.getUserPrincipal().getName()); (OR)
logger.error("User Name : "+vaadinRequest.getRemoteUser());
我從來沒有說過「有」,我問了一個非常具體的事情。 – abden003
糟糕。我的錯。但它仍然是一個可怕的問題標題。 –