2012-11-07 107 views

回答

1

您编写的ToolTwist小部件中生成的JSP代码是plain standard JSP code。尽管可以使用Java Beans,EL,标签库和JSP的各种其他特性,但大多数项目都发现,坚持使用最基本的JSP表达式可以简化未来的可维护性,因为代码的含义是最明确的。

大多数标签旨在去除JSP代码并使其更像HTML,代价是使用特殊的语义或将逻辑移动到其他地方。当JSP由不熟悉应用程序逻辑的Web设计人员维护时,这种分离很有用,但在ToolTwist中,目标或多或少是多余的,因为使用Designer更改了页面,而不是通过编辑JSP代码。

大多数小部件只写一次,然后很少发生变化,所以重要的考虑是让代码一目了然,而不需要考虑或调查任何特殊的语义或标记库定义。使用最简单的JSP语法可以使调试和测试变得更加简单,任何需要将来查看代码的程序员都会理解它。

请注意,在这种情况下,最简单的意思是“最容易理解”,而不是“最少的代码行”。

关于你的例外,记得<%内的代码=和%>是标准的Java代码。如果Java代码抛出异常,那么JSP代码会抛出异常。在这种情况下,getHtml()是你写的一个方法,所以如果你想用它作为一个字符串,你应该确保它不返回null。另外,检查它的价值在使用它之前:

<% 
    String html = h.getHtml(); 
    if (html == null) { 
    html = ""; 
    } 
%><%=html%> 

需要注意的是一个共同的坏习惯是两次调用该方法。最好不要这样做:

<%= (h.getHtml() == null) ? "" : h.getHtml() %> 

总的来说,我建议你改变你的getHtml()方法返回“”它当前返回null。

相关问题