jueves, 12 de abril de 2007

Errores: Struts y los tipos de datos checkbox

El error que se muestra a continuación es muy común cuando utilizamos y queremos utilizar cadenas en las propiedades del ActionForm.

En ocasiones queremos abusar de la potencia de un lenguaje como Java cuando utilizamos Struts 1.2.x, sin embargo existen casos en los que eso no es posible como por ejemplo :

Cuando utilizamos objetos ActionForm y se nos ocurre la grandiosa idea de utilizar variables de tipo String y a esas variables les creamos su métodos set y get, todo parece ser perfecto. Pero si se nos ocurre la grandiosa idea de crear un método como el siguiente:

/**
* Validates if a turn time is selected
* @return the turnTimeHistoricChart
*/
public boolean isTurnTimeHistoricChart() {
return turnTimeHistoricChart.equals(TRUE);
}

teniendo los siguientes métodos tambien:
/**
* Sets the information for field turnTimeChart
* @param turnTimeChart the turnTimeChart to set
*/
public void setTurnTimeChart(String turnTimeChart) {
this.turnTimeChart = turnTimeChart;
}

/**
* Gets the information ofturnTimeHistoricChart
* @return the turnTimeHistoricChart
*/
public String getTurnTimeHistoricChart() {
return turnTimeHistoricChart;
}

Struts puede pensar que el tipo de variable es boolean en lugar de String y nunca asignar el valor que capturamos en el formulario, por lo cual resulta importante no implementar nuestra funcionalidad de está manera.