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

时间:2018-01-25 07:54:52

标签: struts2 mapping runtime-error ognl model-driven

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

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

如果method既不是ModelDriven模型字段也不是动作成员字段,那么它只是忽略此s:if语句而不执行此s:if语句中的指令。
关于如何在ModelDriven模型字段或ModelDriven模型的操作中未映射的字段在JSP上抛出错误的任何想法?

1 个答案:

答案 0 :(得分:1)

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

  

在此属性中评估OGNL表达式,就像许多其他属性一样   Struts标签的属性,如果无法解析它返回的值   null。此值对if代码无法接受。

但是,如果您知道哪个表达式返回null,那么创建一个boolean表达式。

  

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

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