3

我使用 struts 2.3.1.2 构建了我的 Web 应用程序。我有以下页面/操作,我没有收到任何 OGNL 异常作为警告/通知。

  1. JSP 页面 - 包含 3 个文本字段名称、地址、电话
  2. struts.xml 文件 - devMode = true 和使用默认拦截器堆栈的相应操作条目
  3. 我只有两个请求参数的属性的动作类,即名称和地址

以上运行良好,我没有收到任何警告/通知异常。

现在,最近我已经升级到 struts 2.3.14.2 并且我已经开始在日志文件中收到以下警告/通知异常:

Developer Notification (set struts.devMode to false to disable this message): 

Unexpected Exception caught setting 'start' on 'class com.xyz.DetailsActionSupport: 
Error setting expression 'start' with value ['0', ] - Error setting expression 'start' with value ['0', ] - [unknown location]        at  
com.opensymphony.xwork2.ognl.OgnlValueStack.handleRuntimeException(OgnlValueStack.java:201)  at
com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:178) at
com.opensymphony.xwork2.ognl.OgnlValueStack.setParameter(OgnlValueStack.java:152) at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:329)   at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:241)     at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) and more ...

通过google搜索,找到了两个答案:

  1. 在 struts.xml 中为 Param 拦截器添加排除参数
  2. 禁用struts.xml中定义的开发模式

我可以这样做,但是,不明白struts 版本发生了什么变化,所以它已经开始将异常打印为通知/警告?

下面的链接将告诉我们它如何显示警告异常: http ://struts.apache.org/release/2.3.x/docs/parameters-interceptor.html 请参阅上面链接中缺少参数的警告部分

4

0 回答 0