我有2个参数,User
和Pass
。我想将它们发送到servlet。
如果我使用servlet的doGet方法,它将如下所示:
"link?User="+TextFieldValue+"&pass"textFieldValue
user= UserName.getValue();
pass= password.getValue();
Resource newPictureResource = new ExternalResource("http://localhost:8888/PieChart?UserName="+name+"&Password="+pass);
Success.setSource(newPictureResource);
editContent.addComponent(Success);
将它们发送到servlet:
String UserName = request.getParameter("UserName");
String Password = request.getParameter("Password");
它有效(测试)
如果Username
+ pass
正确,那么他会在屏幕上显示“成功”图片。
但没有人通过网址传递参数。
我的问题:如何使用servlet的doPost
方法发送参数?
info:我正在使用Vaadin portlet在liferay门户上使用eclipse。
答案 0 :(得分:3)
您在doPost(..)
中发送参数。你在那里收到。 HTTP有很多方法,其中两个是GET和POST。由客户端决定使用哪种方法。 POST最常用于html表单 - <form method="POST"
。
Vaadin也应该能够发送POST请求 - 请参阅this thread
答案 1 :(得分:1)
不确定Vaadin如何交互,但通常portlet请求的处理方式不同。尽管如此The Book of Vaadin - Portal Integration提供了有关配置和操作处理的一些见解。
如果您正在寻找一种方法来处理两种请求类型而无需重用逻辑,只需通过发布或从应用程序界面获取提交方法:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Enter logic here
}