我有一个发送POST请求的基本html页面。在vaadin7中,我执行以下操作来检索帖子
request.getParameter("username"); 当我这样做时,我得到一个null,但是当我在Vaadin6中做完全相同的事情时,我得到了用户名的实际值(例如“john”)。此外,如果我在html代码中将我的方法更改为" get“,则不会出现任何问题,并获得用户名的值(使用相同的代码段)。
这是Vaadin 7中的一个错误,还是我必须以不同的方式实现它。
发布于 2013-10-06 20:07:59
我不确定这是否能解决问题,但在某些情况下,类似的方法已经对我起到了作用。Vaadin 7使用VaadinRequest,而vaadin 6使用HttpServletRequest。您可以从VaadinRequest中提取HttpServletRequest并使用它来获取参数。如果请求的类型为VaadinRequest
VaadinServletRequest vsRequest = (VaadinServletRequest)request;
HttpServletRequest hsRequest = vsRequest.getHttpServletRequest();
String un = hsRequest.getParameter("username"); 希望对你有帮助。
发布于 2014-03-13 03:50:54
我也有同样的问题。调试显示,Vaadin7在内部执行两个请求。第一个请求包含来自URL和已发布表单的所有参数。第二个可能是内部重定向,使用来自URL的相同参数加上Vaadin UI相关参数。
因此,基本上,要捕获已发布的参数,您可以添加RequestHandler,从第一个请求中获取它,并可能将其保存在某个地方,例如在会话中,然后在组件中读取这些存储的数据。这个解决方案对我很有效。
发布于 2014-08-05 14:15:00
我希望,它会帮助你得到它。
VaadinRequest vaadinRequest = VaadinService.getCurrentRequest();
logger.error("User Name : "+vaadinRequest.getUserPrincipal().getName()); (OR)
logger.error("User Name : "+vaadinRequest.getRemoteUser());https://stackoverflow.com/questions/19166141
复制相似问题