我在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个模块需要更改{{1}}。
我感谢你们的帮助。
提前致谢。
答案 0 :(得分:2)
我建议您将异常本身添加到模型中(例如,在名称“exception”下)并在模板中使用它:exception.message
或exception.cause.message
,具体取决于您想要的异常。
答案 1 :(得分:0)
将
message.message
帮助?这将访问getMessage()函数。
答案 2 :(得分:0)
不幸的是,消息是字符串类型!如果它是message = e.getCause();
而不是message = "Error occurred : " + e.getCause();
,那么Daniel的答案将是解决方案。