这种情况的最佳解决方案是什么:我在Netbeans中实现了基于SOAP的Web服务,客户端应该点击许多复选框,然后将这些复选框发送到服务器并存储。假设我的webservice有这些复选框,可以选择全部或部分:
种族: 1.Caucasian 2.South-Est Asian 3.南亚 4.African 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] + "')";
谢谢大家的时间和精力!