Si quiere hacer alguna validación usted mismo (o use las características del validador de puntales que se han refactorizado a partir de puntales posteriores a 1.2) necesitará propiedades de cadena exactamente por la razón que cita: Una vez que almacena valores numéricos en Valores enteros o int, deben ser números o "nada en absoluto"; de lo contrario, ¿cómo se almacenó "mucho" (literalmente) en una propiedad Entero?
La validación del lado del cliente (por ejemplo, en Javascript) seguiría funcionando, pero no desea confiar en esto.
Si, al ingresar un número inválido, está de acuerdo con que al usuario se le presente un campo en blanco, puede almacenar valores en Fecha-, Entero-, Cualquiera-Propiedades. Si desea presentar el valor original con el mensaje de error, necesitará la propiedad Cadena.
Esto tiene el precio que necesita para realizar la conversión manualmente. Como Struts 1.2 es bastante viejo, es posible que desee pensar en reemplazar gradualmente su infraestructura de aplicaciones con tecnología más moderna y operar con dos tecnologías (la antigua & la nueva) al mismo tiempo por un tiempo hasta que la parte anterior sea lo suficientemente pequeña (o no importante) suficiente) para ser descartado.
nb - también obtiene más control sobre los valores que desea aceptar como números. Todavía recuerdo una vieja aplicación bancaria de tarjetas de crédito de Struts en la que le pregunté a mi gerente cuál es el resultado esperado cuando desea retirar 3e2 euros de su tarjeta. No dijeron 300 (como se convirtió Struts), pero optaron por un error.