问题描述
|
我在java中有以下代码:
try{
//some code here.. .
} catch (Exception e) {
message = \"Error occurred : \" + e.getCause();
throw e;
}
在freemarker中:
<table width=\"1238\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\">
<tr>
<td align=\"center\" class=\"Fontmost\">
<p><@ww.property value = \"message\"/> <!-- message from java -->
<br />
<br />
</p>
</td>
</tr>
</table>
我要维护的应用程序的最后一个开发人员使用e.getCause()
而不是e.getMessage()
。现在,我们只需要异常消息,因为e.getCause()
将在页面中打印整个堆栈跟踪。是否可以通过仅修改freemarker代码来仅显示异常消息?因为我们的Java代码中的所有类和模块都使用e.getCause()
,所以如果将e.getCause()
修改为e.getMessage()
,则有40个模块可以更改。
感谢您的帮助。
提前致谢。
解决方法
我建议您将异常本身添加到模型中(例如,名称为“ exception \”),并在模板中使用它:
exception.message
或exception.cause.message
,具体取决于所需的异常。
, 将
message.message
救命?这将访问getMessage()函数。
, 不幸的是,消息是字符串类型!如果是ѭ11而不是ѭ12,则丹尼尔的答案就是解决方案。