我在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>
- 这就是我所期望的。
答案 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的功能。从未使用过它。