如何避免在JSP页面中使用scriptlet?

如何避免在JSP页面中使用scriptlet?

我被告知在我的JSP页面中使用scriptlet(<%= ...%>)并不是一个好主意。

有没有更多java / jsp经验的人可以给我一些关于如何更改此代码的指示,以便更多“最佳实践”,无论可能是什么?

这个JSP实际上是我的sitemesh主装饰页面。基本上我的网页设计有一个标签条和一个子菜单,我希望以某种方式突出显示当前标签,并通过查看当前请求URI显示正确的子菜单。

<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %><html><head>
  <title>My Events - <decorator:title /></title>
  <link href="<%= request.getContextPath() %>/assets/styles.css" rel="stylesheet" type="text/css" /></head><body><div class="tabs">
  <a 
    <%= request.getRequestURI().contains("/events/") ? "class='selected'" : "" %>
    href='<%= request.getContextPath() %>/events/Listing.action'>Events</a>
  <a 
    <%= request.getRequestURI().contains("/people/") ? "class='selected'" : "" %>
    href='<%= request.getContextPath() %>/people/Listing.action'>People</a></div><div class="submenu">
  <% if(request.getRequestURI().contains("/events/")) { %>
    <a href="Listing.action">List of Events</a>
    |<a href="New.action">New Event</a>
  <% } %>
  <% if(request.getRequestURI().contains("/people/")) { %>
    <a href="Listing.action">List of People</a>
    |<a href="New.action">New Person</a>
  <% } %>  
  &nbsp;</div><div class="body">
  <decorator:body /></div></body></html>

谢谢大家


开心每一天1111
浏览 790回答 3
3回答

万千封印

Scriptlet不是世界上最糟糕的事情。一个重要的考虑因素是考虑谁将维护代码。如果它的Web设计人员没有太多的Java经验,那么最好使用标记库。但是,如果Java开发人员正在进行维护,那么使用scriptlet可能会更容易。如果您最终使用标记库和JSTL,那么您希望维护者也可以学习标记库并了解JSTL。一些开发人员可以很好地使用它,因为它是他们想要或已经拥有的技能,但是对于一些只需要每隔几个月左右处理一次JSP的开发人员来说,使用写得很好的清晰编写的scriptlet就不那么痛苦了。熟悉的Java。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java