struts2 jsp不会对非映射字段抛出错误

struts2 jsp不会对非映射字段抛出错误,struts2,mapping,runtime-error,ognl,model-driven,Struts2,Mapping,Runtime Error,Ognl,Model Driven,我的struts2动作是由模型驱动的。我在动作本身上也定义了一些字段。然而,如果在jsp中我使用了错误的字段名,而这些字段名既不在模型驱动模型中,也不直接用作操作成员字段,那么我不会得到任何错误,它只会忽略这些字段 <s:if test="(method == 'list')"> 若方法既不是模型驱动的模型字段,也不是操作成员字段,那个么它只会忽略这个s:If语句,并且不执行这个s:If语句中的指令。 对于模型驱动模型字段或模型驱动模型操作中未映射的字段,您知道如何在JSP上抛出

我的struts2动作是由模型驱动的。我在动作本身上也定义了一些字段。然而,如果在jsp中我使用了错误的字段名,而这些字段名既不在模型驱动模型中,也不直接用作操作成员字段,那么我不会得到任何错误,它只会忽略这些字段

 <s:if test="(method == 'list')">
若方法既不是模型驱动的模型字段,也不是操作成员字段,那个么它只会忽略这个s:If语句,并且不执行这个s:If语句中的指令。
对于模型驱动模型字段或模型驱动模型操作中未映射的字段,您知道如何在JSP上抛出错误吗?

OGNL表达式可以抛出异常,但它们是在内部捕获的

OGNL表达式在该属性中求值,就像在许多其他属性中一样 Struts标记的属性,如果无法解析它返回的值 无效的对于if标记,此值是不可接受的

但是,如果知道哪个表达式返回null,则创建一个布尔表达式

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


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

阅读答案。我想知道为什么在测试中使用圆括号?括号纯粹是为了跟上java约定。它是ognl语言。见答案