为什么 JSP 不会对 Struts 2 中的非映射字段抛出错误

问题描述 投票:0回答:1

我的 Struts 2 操作为

ModelDriven
。我还为操作本身定义了一些字段。但是,如果在 JSP 中我使用了错误的字段名称,这些字段名称既不在
ModelDriven
模型中,也不直接用作操作成员字段,那么我不会收到任何错误,它只是忽略这些字段。

 <s:if test="(method == 'list')">

如果方法既不是

ModelDriven
模型字段,也不是操作成员字段,那么它只是忽略此
<s:if>
标记,并且不执行此
<s:if>
内的指令。

知道如何在 JSP 上针对

ModelDriven
模型字段或
ModelDriven
模型的操作中未映射的字段抛出错误吗?

struts2 mapping runtime-error ognl model-driven
1个回答
1
投票

OGNL 表达式可以抛出异常,但它们会在内部被捕获。

与许多其他属性一样,OGNL 表达式在此属性中计算 Struts标签的属性,如果无法解析则返回值

null
。该值对于
if
标签来说是不可接受的。

但是,如果您知道哪个表达式返回

null
,则创建一个
boolean
表达式。


关于如何在 jsp 上抛出错误的任何想法......

java代码封装在标签实现中。如果标签无法执行,它们会抛出 500 内部服务器错误。您可以编写自定义标签来引发该错误。

© www.soinside.com 2019 - 2024. All rights reserved.