Ciao a tutti,
ecco un piccolo problema che non sono riuscito a risolvere nonostante abbia cercato (e provato) diverse soluzioni.
Ho una semplice tabella di MySQL da cui estraggo i dati composta da 4 campi. Tre di questi sono varchar e uno è int. 2 campi varchar sono impostati come obbligatori, gli altri due campi sono facoltativi. Se tralascio l'inserimento di un campo int mi stampa a video null, mentre tralasciando un varchar mi lascia la cella vuota. Come posso fare per ottenere anche nel primo caso (ovvero non inserendo il valore int) la cella vuota al posto di null?
Questo è il punto in cui ricevo i dati dal form:
codice:
        //RICEVO I DATI DAL FORM ED EFFETTUO L'INSERIMENTO
  	String author = request.getParameter("author");
  	String title = request.getParameter("title");
  	
  	String y = request.getParameter("year");
  	int year = -1;
  	if(y!=null && !y.isEmpty()){year = Integer.parseInt(y);}
  	
  	String remark = request.getParameter("remark");
  	if(author!=null && !author.isEmpty() && title!=null && !title.isEmpty()
  	/*&& year!=null && !year.isEmpty() && remark!=null && !remark.isEmpty()*/){
    	BooksWorker.insert(author, title, year, remark);
  	}
Questo è il metodo di inserimento:
codice:
public static void insert(String author, String title, int year, String remark) {
    
		try{
			Class.forName("com.mysql.jdbc.Driver");
			
			Connection c = DriverManager.getConnection(url, "root", "root");
			
			String insert = "INSERT INTO books(author, title, year, remark) VALUES(?, ?, ?, ?)";
 

			PreparedStatement ps = c.prepareStatement(insert);
			ps.setString(1, author);
			ps.setString(2, title);
			//YEAR DEVE ESSERE POSITIVO, SENNO' LO SETTO A NULL
			if(year>0){ps.setInt(3, year);}
			else{ps.setNull(3, java.sql.Types.INTEGER);}
			ps.setString(4, remark);
			ps.executeUpdate(); 
			
			
			c.close();
		} 
		catch(Exception ex){
			Logger l = Logger.getLogger(BooksWorker.class.getName());
			l.log(Level.SEVERE, null, ex);
		}
		
	}
infine ecco dove vado a stampare la table:
codice:
	  		Iterator<String> it = list.iterator();
	
	  		while(it.hasNext()){
	      		id = Integer.parseInt(it.next());
	      		out.print("<tr>");
	      		for(int i = 0; i < 4; i++){
	          		out.print("<td>");
	          		out.print(it.next());
	          		out.print("</td>");
	  			}
	  			out.print("<td>");
	  			String box = "<input name=r" + id + " type='checkbox'>";
	  			out.print(box);
	  			out.print("</td>");
	  			out.print("</tr>");