Übergabe eines Wertes an eine Bean --> Bean leer

Status
Nicht offen für weitere Antworten.

Heiko

Bekanntes Mitglied
Hallo,

ich denke dieses Problem gehört noch hier her.
Ich mache folgendes:
Ich habe eine BeanKlasse erstellt in der ich Datumswerte, Strings etc. ablegen will.
Bei allen Variablen kann ich die Werte ablegen, aber bei dem Datum geht das nicht, schon allein, weil der Constructor, so hab ich die Api verstanden, einen Long-Wert haben will, aber ich kenne den Wert vom heutigen Datum nicht als Long.

Ich wäre für jeden Tip dankbar.

Hier etwas von meinem Code:

Bean:

Code:
public class SapPositionsDatenExBean
{
// die anderen Setter/getter methoden habe ich der Übersicht halber entfernt
	private int typ;
	private int rvnr;
	private int pos;
	private String ponr;
	private boolean upa;
	private int conf;
	private int expect;
	private double com;
	private java.sql.Date ship;
	private java.sql.Date transit;
	private String comments;
		
	/**
	 * Returns the ship.
	 * @return java.sql.Date
	 */
	public java.sql.Date getShip()
	{
		return ship;
	}

	/**
	 * Returns the transit.
	 * @return java.sql.Date
	 */
	public java.sql.Date getTransit()
	{
		return transit;
	}

	
	/**
	 * Sets the ship.
	 * @param ship The ship to set
	 */
	public void setShip(java.sql.Date ship)
	{
		this.ship = ship;
	}

	/**
	 * Sets the transit.
	 * @param transit The transit to set
	 */
	public void setTransit(java.sql.Date transit)
	{
		this.transit = transit;
	}
}

Eingabe in einem Servlet:

Code:
public class Lot001VerweiseUdt extends AbstractHttpServletCommand
{
//Auch hier hab ich nur einen der Füllvorgänge kopiert.
	protected void internalExecute(
		javax.servlet.http.HttpServletRequest req,
		javax.servlet.http.HttpServletResponse res,
		javax.servlet.ServletContext ctxt)
		throws AnwendungsFehlerException
	{
		LotSession bs = LotSession.getInstance(req.getSession());

		Vector vec = new Vector();
		SapPositionsDatenExBean exBean = new SapPositionsDatenExBean();
		System.out.println("Lot001Verweiseudt ist gestartet");

		exBean.setTyp(392);
		System.out.println("bean zeile1");
		exBean.setRvnr(11000023);
		exBean.setPos(10);
		exBean.setUpa(true);
		exBean.setShip(java.sql.Date.valueOf("2004-08-06")); 
		exBean.setTransit(java.sql.Date.valueOf("2004-08-06"));
		exBean.setComments("missing parts");
		System.out.println("1.Bean erstellt");

		vec.add(exBean);
}

[EDIT] Code wurde repariert, so funktioniert es jetzt! [/EDIT]
 
also das java.sql.Date hat diesen Konstruktor
Date(int year, int month, int day)

also müsste es gehen

1. nimm java.util.Date (falls du das nicht willst)

new java.sql.Date(new java.util.Date().getTime());
 
sonst schick in deinen bean ein string und parse den string in deinem bean ins date-format.
 
Vielen Dank für die Antworten:

@the_29 ich darf nur java.sql.Date nehmen. Der Konstruktor den du nennst ist depreciated, man darf nur noch einen LONG wert übergeben.

@DB habe das problem mit ValueOf gelöst, ich besser den Code aus, so dass er funktioniert, dann haben andere auch was davon.
 
thE_29 hat gesagt.:
new java.sql.Date(new java.util.Date().getTime());

das ist der long konstruktor 😉

Ups ;-)

Naja hätte nicht funktioniert, da ich ja das Datum beliebig eingeben können muss, wenn das fertig ist läuft das mal automatisch.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben