这个JSP中的拼写错误是“>”吗?

时间:2010-02-27 01:25:49

标签: google-app-engine jsp anchor

我在App Engine documentation中找到了这个例子。

   1 <%
   2  UserService userService = UserServiceFactory.getUserService();
   3  if (!userService.isUserLoggedIn()) {
   4 %>
   5  Please <a href="<%=userService.createLoginURL("/newlogin.jsp")>">log in</a>>
   6 <% } else { %>
   7  Welcome, <%= userService.getCurrentUser().getNickname(); %>!
   8    (<a href="<%=userService.createLogoutURL("/")>">log out</a>>)
   9  <%
   10 }
   11 %>

关于第5行和第8行末尾的</a>>:这是一个错字吗?

如果没有,为什么它应该是</a>>而不是</a> - 这就是我所期望的。

1 个答案:

答案 0 :(得分:2)

这确实在语法上无效。我不认为这是一个错字,它可能只是错误地使用javadoc。需要手动转义/编码javadoc中的HTML实体,这经常被忽略。我还看到 scriptlets 没有正确关闭。这是固定版本:

<%
   UserService userService = UserServiceFactory.getUserService();
   if (!userService.isUserLoggedIn()) {
%>
      Please <a href="<%= userService.createLoginURL("/newlogin.jsp") %>">log in</a>
<% } else { %>
      Welcome, <%= userService.getCurrentUser().getNickname(); %>!
         (<a href="<%= userService.createLogoutURL("/") %>">log out</a>)
<%
   }
%>

顺便说一句丑陋的代码。我只是使用了Filter和/或JSTL / EL的镜头。但这可能超出了Google App Engine的功能。从未使用过它。