Лучший способ передать значения нескольких флажков на сервер - PullRequest
2 голосов
/ 17 августа 2011

Каково лучшее решение для этого сценария: у меня есть веб-сервис на основе SOAP, реализованный в Netbeans, где клиент должен установить несколько флажков, которые затем отправляются на сервер и сохраняются.Предположим, что мой веб-сервис имеет эти флажки, где можно выбрать все или некоторые из них:

Этническая принадлежность: 1. Кавказский 2. Юго-восточный азиатский 3. Южно-азиатский 4. Африканский 5. Другой

в другой частитого же веб-сервиса я установил флажки, относящиеся к

Пол: 1.Maschio 2.Femmina

Как показано ниже, где можно выбрать один или оба , но решениеМне кажется, что это очень сложно для этнической части, и у меня есть другие части с еще большим количеством флажков!

Код на стороне клиента:

     private void salvaActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
           disease=malattia.getText();
           etastr=eta.getText();
           age=java.lang.Integer.parseInt(etastr);
           description=descrizione.getText();

         //Here i'm initiating the array using sexint as the dimension
         sexarra=new String[sexint];
        if(sexint==1)
        sexarra[0]=sexone;
        else if(sexint==0)
            JOptionPane.showMessageDialog(null, "Bisogna specificare     almeno un valore del campo sesso", "Errore", JOptionPane.ERROR_MESSAGE);
        else{
            sexarra[0]=sexone;
            sexarra[1]=sextwo;}


         // I define the parameters and afterwards send them to server
          Vector parametri = new Vector();
                  parametri.addElement(new Parameter("malattia", String.class, disease, null));
                 parametri.addElement(new Parameter("age", int.class, age, null));
                 parametri.addElement(new Parameter("descrizione", String.class, description, null));
                    parametri.addElement(new Parameter("sexarra",String[].class, sexarra, null));



       //Code related to calculating sexint which is used above as the dimension to array


     private void femminaActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:

        if(femmina.isSelected()){
            if(sexint==0){
              sexint++;
              sexone=femmina.getText();

            }

            else if(sexint==1){
            sexint++;

            sextwo=femmina.getText();
            }
            else
            sexint--;
        }
        }                                       

        private void maschioActionPerformed(java.awt.event.ActionEvent evt) {                                        
        // TODO add your handling code here:
              if(maschio.isSelected()){
            if(sexint==0){
              sexint++;
              sexone=maschio.getText();

            }

            else if(sexint==1){
            sexint++;

            sextwo=maschio.getText();
            }
            else
            sexint--;
        }
        }                

Код, относящийся к стороне сервера:

       public String aggiungi_malattia(String malattia, int eta, String descrizione, String[] sexarra) {
                String ris = "no";
                String q = null, w = null;
                String errore = connetti();

               if(sexarra.length == 2){
         q = "INSERT INTO malattia (nome, eta, descrizione, sesso) "
                    + "VALUES ('" + malattia + "','" + eta + "','" + descrizione + "','" + sexarra[0] + "')";
         w="INSERT INTO malattia (nome, eta, descrizione, sesso) "
                    + "VALUES ('" + malattia + "','" + eta + "','" + descrizione + "','" + sexarra[1] + "')";
               }
         {
          q = "INSERT INTO malattia (nome, eta, descrizione, sesso) "
                    + "VALUES ('" + malattia + "','" + eta + "','" + descrizione + "','" + sexarra[0] + "')";

Спасибо всем за потраченное время и усилия!

...