Cómo hacer que las propiedades de etiquetas personalizadas en Java las etiquetas personalizadas reciban correctamente objetos de expresión EL
Para utilizar las etiquetas personalizadas de Java de manera más conveniente y flexible durante el desarrollo del proyecto, a menudo necesitamos hacer que los atributos de etiquetas personalizadas reciban múltiples An Objeto de expresión EL, afortunadamente Apache nos proporciona un método de implementación simple.
Paquete jar requerido:
jstl.jar
standard.jar
De hecho, estos dos paquetes son los que usamos jstl Dos Se necesitan paquetes.
Para recibir el objeto de expresión EL, primero debe establecer el tipo de objeto del atributo en el tipo de objeto en el archivo de clase de implementación marcado, e introducir el método set en la clase apache en el conjunto y obtener métodos:
import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;
Esta clase tiene un método de evaluación, que se llamará cuando se pase una expresión EL como parámetro y convierte automáticamente la expresión EL en el objeto requerido en el marcado.
Solo necesita llamar a este método en el método de configuración, de la siguiente manera:
public void setValue(Valor del objeto)throws JspException
{
this.value = ExpressionEvaluatorManager .evaluate(
"valor", value.toString(), Object.class, this, pageContext
}
<); p > ExpressionEvaluatorManager.evaluate tiene cuatro parámetros.El primer parámetro representa el nombre de la etiqueta, que se utilizará cuando se produzca un error al obtener la expresión el. Suele ser el mismo que el nombre de la propiedad.
El segundo parámetro requiere una cadena, generalmente simplemente llamando al método toString del objeto de entrada.
La tercera es una clase, normalmente Object.class.
La cuarta es esta,
La quinta es la variable pageContext.
En el archivo tld, el atributo rtexprvalue de esta etiqueta debe establecerse en verdadero, lo que indica si se admite la adquisición de expresiones en tiempo de ejecución.
¡Bien! ¡Funciona bien!
Referencia:/blog/899445