表达式语言在JSP页面中不起作用。我们只是使用JSP表达式标签,但当表达式结果变为空时它可以抛出异常。 例如:<%= h.getHtml()%>。相反,我们可以使用$ {h.html}表达式语言在JSP页面中不起作用
-1
A
回答
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。
相关问题
- 1. JSP表达式语言在Apache Tiles中不起作用
- 2. JSP中的表达式语言不起作用
- 3. 评估变量时JSP表达式语言不起作用
- 4. 在jsp页面的javascript中访问表达式语言
- 5. JSP - 表达式语言
- 6. JSP表达式语言格式负数
- 7. JSP表达式语言错误
- 8. JSP表达式语言错误行为?
- 9. JSP表达式语言得到参数
- 10. JSP表达式语言问题
- 11. JSP标签VS表达式语言
- 12. 春季表达式语言不起作用
- 13. 表达式语言不工作的TLD
- 14. | (或者运算符在C语言的正则表达式中不起作用)
- 15. Lookahead断言(正则表达式)在JFlex中不起作用
- 16. 如何在JSP的表达式语言中添加“新行”?
- 17. 在SSJS中使用表达式语言
- 18. 为什么下面的正则表达式在vim中不起作用? (具体而言,?在正则表达式)
- 19. 表达式语言在JavaScript
- 20. 在Mule中使用导入的Java语言表达式语言
- 21. 在JSP页面中获取用户名。 principal.username不起作用
- 22. 嵌套表达式语言不能在mule中工作
- 23. 如何过滤在JSP中使用表达式语言显示的表格?
- 24. 使用JSP和表达式语言(EL)打印值
- 25. 如何使用JSP表达式语言(EL)
- 26. 如何使用表达式语言(JSP)访问HashMap
- 27. 使用JSP/JSF EL(表达式语言)替换BeanUtils.setProperty
- 28. 如何消除jsp表达式语言中的重复值?
- 29. PARAM:在JSP隐EL(表达式语言)对象
- 30. 使用连字符时,Spring表达式语言(SpEL)不起作用