PDA

View Full Version : [html/java] form: passare i parametri da java


gaglioppo
18-05-2006, 00:58
ciao amici,

questo è un problema per metà html e per metà java.
Fino ad ora sono sempre riuscito a compilare attraverso java una form html e ottenere il risultato sotto forma di pagine html.

usavo il metodo doPost(url,props) trovato sul libro della mcgrawhill.

public static synchronized String doPost(URL url, Properties nameValuePairs)
throws IOException {
URLConnection connection = url.openConnection();
connection.setDoOutput(true);

PrintWriter out = new PrintWriter(connection.getOutputStream());

Enumeration enum2 = nameValuePairs.keys();

while (enum2.hasMoreElements()) {
String name = (String) enum2.nextElement();
String value = nameValuePairs.getProperty(name);
char ch;
if (enum2.hasMoreElements())
ch = '&';
else
ch = '\n';
out.print(name + "=" + URLEncoder.encode(value, "UTF-8") + ch);
}

out.close();
BufferedReader in;
try {
in = new BufferedReader(new InputStreamReader(connection
.getInputStream()));
} catch (FileNotFoundException exception) {
InputStream err = ((HttpURLConnection) connection).getErrorStream();
if (err == null)
throw exception;
in = new BufferedReader(new InputStreamReader(err));
}
StringBuffer response = new StringBuffer();
String line;

while ((line = in.readLine()) != null)
response.append(line + "\n");

in.close();
return response.toString();
}



in pratica creavo un file properties del tipo:

#prova.form
#Tue May 16 16:04:39 BST 2006
URL=http\://swissmodel.expasy.org/cgi-bin/blastexpdb.cgi
sequence=
email=


e mi bastava completare i campi SEQUENCE ed EMAIL e ottenevo la mia pagina html risultato usando il metodo doPost.

Ora però ho a che fare con campi di input di tipo RADIO e CHECKBOX e nn so come comportarmi, come vanno settati nel file di proprietà?
In particolare ho una pagina html con:

<INPUT TYPE=radio NAME=hits VALUE=top CHECKED> Report top

<INPUT TYPE=radio NAME=hits VALUE=zscore>

<INPUT TYPE=text NAME=zn VALUE=5.0 SIZE=3 MAXLENGTH=3>

<INPUT TYPE=checkbox NAME=rtn_casp>

<INPUT TYPE=checkbox NAME=sa_align>

<INPUT TYPE=checkbox NAME=act_mpidcut CHECKED>

<INPUT TYPE=checkbox NAME=combine>


ho provato facendo:
hits=top
zn=5.0
act_mpidcut=on
combine=off
rtn_casp=off
sa_align=off

ma niente!