/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
*/ package org.apache.el;
ValueExpression var = factory.createValueExpression(testEnum, TesterEnum.class);
context.getVariableMapper().setVariable("testEnum", var);
// When coercing an Enum to a String, name() should always be used.
ValueExpression ve1 = factory.createValueExpression(context, "${testEnum}", String.class);
String result1 = (String) ve1.getValue(context); Assert.assertEquals("APPLE", result1);
/* * Test returning an empty list as a bean property.
*/
@Test publicvoid testBug51544Bean() throws Exception {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl(factory);
TesterBeanA beanA = new TesterBeanA();
beanA.setValList(Collections.emptyList());
ValueExpression var = factory.createValueExpression(beanA, TesterBeanA.class);
context.getVariableMapper().setVariable("beanA", var);
ValueExpression ve = factory.createValueExpression(context, "${beanA.valList.size()}", Integer.class);
Integer result = (Integer) ve.getValue(context); Assert.assertEquals(Integer.valueOf(0), result);
}
/* * Test using list directly as variable.
*/
@Test publicvoid testBug51544Direct() throws Exception {
ExpressionFactory factory = ExpressionFactory.newInstance();
ELContext context = new ELContextImpl(factory);
List<?> list = Collections.emptyList();
ValueExpression var = factory.createValueExpression(list, List.class);
context.getVariableMapper().setVariable("list", var);
ValueExpression ve = factory.createValueExpression(context, "${list.size()}", Integer.class);
Integer result = (Integer) ve.getValue(context); Assert.assertEquals(Integer.valueOf(0), result);
}
ValueExpression var = factory.createValueExpression(beanJ, TesterBeanJ.class);
context.getVariableMapper().setVariable("beanJ", var);
ValueExpression ve = factory.createValueExpression(context, "${beanJ.optionalBean.map(b -> b.data).orElse(null)}", String.class);
String result = (String) ve.getValue(context); // Result is null but is coerced to String which makes it "" Assert.assertNotNull(result); Assert.assertTrue(result.isEmpty());
}
}
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.