我是Java EE的新手,我知道类似以下三行
<%= x+1 %>
<%= request.getParameter("name") %>
<%! counter++; %>
Run Code Online (Sandbox Code Playgroud)
是一种旧式的编码方式,在JSP版本2中,存在一种避免JSP文件中的Java代码的方法.有人可以告诉我替代的JSP 2行,以及这种技术的名称是什么?
我被告知在我的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>
<% } %> …Run Code Online (Sandbox Code Playgroud)