问题:
引用
ognl.OgnlException: target is null for setProperty(null,id;, [Ljava.lang.String;@1f7d8
源码:ReqTask model类里面有个Project model类,jsp页面需要选择project的id
<s:select label="%{@com.cpic.model.ReqTask@ALIAS_PROJECTID}" headerKey="" headerValue="--请选择--" list="#request.projects" name="project.id" listKey="id" listValue="pname1" value="%{model.project.id}" required="true" cssClass=""></s:select>
分析原因:
setProperty时target is null,对reqTask进行初始化还是报错,所以应该需要在action里面初始化一个project。
解决:
private ReqTask reqTask;
private Project project=new Project();
分享到:
相关推荐
在使用MyBatis-Plus 3.1.1版本时,如果你尝试使用Lambda表达式进行查询操作,可能会遇到一个常见的错误,导致程序无法正常运行。本文将深入探讨这个问题,并提供解决方案。 首先,让我们分析错误信息。...
- `public static void setValue(Object tree, Map context, Object root, Object value) throws OgnlException;` 这些API主要用于获取和设置表达式的值。在使用这些API之前,需要构建OGNL的上下文环境。下面是一些...
OGNL 支持 null 安全性,可以处理可能为 null 的值。例如,`#root.name!` 会返回 `null` 而不是抛出异常。 ### 10. 其他 API 特性 OGNL 还提供了许多其他特性,如追踪评估过程等。 #### Tracing Evaluations ...
- `public static Object getValue(Object tree, Map context, Object root) throws OgnlException;` - 这个方法用于评估给定的OGNL表达式树,从给定的根对象中提取一个值。参数`tree`表示OGNL表达式树,`context`...
import ognl.OgnlException; public class OgnlTest { public static void main(String[] args) { User user = new User(); user.setName("张三"); try { // 创建Ognl上下文 OgnlContext context = new Ognl...
6. **异常处理**:源码中包含了丰富的异常处理逻辑,如`OgnlException`,用于捕获和报告OGNL执行过程中的错误。 ### 应用场景 1. **Spring框架**:在Spring MVC中,OGNL用于视图层的表达式语言,例如在Thymeleaf...
import ognl.OgnlException; public class OgnlTest { public static void main(String[] args) { User user = new User(); user.setName("张三"); user.setAge(25); OgnlContext context = new OgnlContext...
10. 错误处理和异常:在处理OGNL表达式时,可能会遇到`OgnlException`,这通常表示表达式解析或执行时出错。此外,`NullPointerException`和`ClassCastException`也可能在尝试访问不存在的属性或错误类型转换时抛出...
import ognl.OgnlException; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.struts2.interceptor....
} catch (OgnlException e) { e.printStackTrace(); } } } class Person { private String name; // getters and setters... public void setName(String name) { this.name = name; } public String ...
} catch (OgnlException e) { e.printStackTrace(); } ``` - MVEL:是一个强大的表达式语言,最初用于Valhalla项目,现在是Drools规则引擎的一部分。MVEL提供了丰富的语法,支持多种操作,包括编译模式和解释模式,...
此外,`OGNLException`类处理在解析或执行表达式时可能出现的错误。 OGNL源码分析对于学习和调试OGNL至关重要。通过源码,你可以了解OGNL如何解析复杂的对象图导航表达式,如何查找和访问对象的属性,以及如何处理...
当OGNL表达式执行出错时,它会抛出`OgnlException`,通常伴随着详细的错误信息,帮助开发者定位问题。此外,ognl还支持自定义类型转换和方法解析策略,以适应不同的应用场景。 在实际使用中,ognl的API提供了很多...
在执行表达式时,可能会遇到各种异常,如`OgnlException`表示OGNL特有的错误,`NullPointerException`、`IllegalArgumentException`等标准Java异常也可能出现。源码中对这些异常进行了详细的处理。 7. **安全与...