2011-09-19 136 views
0

我有3个TextFields(Vaadin)(DBName,DBUserName,DBPassword)我想发送文本中的文本从一个portlet到一个servlet,这是我到目前为止:发送TextField值(参数)到一个servlet

的Portlet部分:

TextField DBName; 
TextField DBUserName; 
TextField DBPassword; 

DBName = new TextField("Enter DB Name"); 
DBName.setColumns(20); 
DBUserName = new TextField("Enter UserName"); 
DBUserName.setColumns(20); 
DBPassword = new TextField("Enter Password"); 
DBPassword.setColumns(20); 
    //Button 
    if(event.getSource()== Connect){ 
     Resource newPictureResource = new ExternalResource("http://localhost:8888/portlet/picture?UserName="+DBUserName.getValue()+"&DBPassword="+DBPassword.getValue()+"&DBName="+DBName.getValue()); 
     picture.setSource(newPictureResource); 
     editContent.addComponent(picture); 
    } 

Servlet的一部分:

这里没有思想,是关于若干思考

String UserName = request.getParameter("DBUserName"); 
    String Password = request.getParameter("DBPassword"); 
    String DataBase = request.getParameter("DBName"); 

我想获得已输入到文本字段的值, 有什么想法?

+0

了解更多关于查询字符串的信息。什么是TextField的fqn? – Bozho

+0

您正考虑通过HTTP以纯文本格式发送密码?这也不是一个好设计。 – duffymo

+0

它只是一个例子,我可以写text1 text2和text3这里的安全性不是问题 – Kiesa

回答

0

您的代码几乎看起来已经完成。我只编辑了一点(我不确定你的实际问题是什么)。您可以简单地使用内置的支持posting data的Java。你可以在the vaadin book.

TextField DBName; 
    TextField DBUserName; 
    TextField DBPassword; 

    DBName = new TextField("Enter DB Name"); 
    DBName.setColumns(20); 
    DBUserName = new TextField("Enter UserName"); 
    DBUserName.setColumns(20); 
    DBPassword = new TextField("Enter Password"); 
    DBPassword.setColumns(20); 

    Button b = new Button("Connect"); 
    b.setImmediate(true); 
    b.addListener(new ClickListener() { 

     @Override 
     public void buttonClick(ClickEvent event) { 
      // post form values using java url connection 


     } 
    }) 
相关问题