我现在正在学习如何使用Java制作Google appengine应用程序,并且在他们的入门指南中,他们使用了JSP,但这似乎又回到了我过去的时光。 #39;对MVC或关注点分离一无所知。
我不想将代码放在模板中,而是宁愿使用类似于django模板或jinja的东西,就像你在python sdk中那样。什么是最好的框架?
我按照入门指南中的留言板示例进行操作,他们告诉您制作这样的JSP:
<html>
<body>
<%
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
%>
<p>Hello, <%= user.getNickname() %>! (You can
<a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">sign out</a>.)</p>
<%
} else {
%>
<p>Hello!
<a href="<%= userService.createLoginURL(request.getRequestURI()) %>">Sign in</a>
to include your name with greetings you post.</p>
<%
}
%>
</body>
</html>
但所有<%
和%>
提醒我在PHP页面中包含PHP代码,这不是我想要的方式。有没有办法让我可以创建一个视图对象,传递一些值,将它们插入到模板中?
答案 0 :(得分:2)
根据Google App Engine Wiki,支持JSP + JSTL,因此根本不需要Scriptlets。
如果您想要一个干净的MVC架构,也许您应该使用支持该模式的框架。 wiki说 Struts 支持它,还有 Spring MVC ,所以你可以选择一个适合你需要的那个。
答案 1 :(得分:1)
答案 2 :(得分:0)
grails在这方面运作良好....但是使用app引擎框架正确设置所有内容可能会有点痛苦
答案 3 :(得分:0)
我的轻量级模板引擎Chunk Templates将在Google App Engine中运行。
块功能包括,分支,循环和宏,具有简单的{$tag}
语法,并且故意不允许内联java,如jsp do(ick)。它与twig / jinja / django / etc类似。
还有很多内置的tag filters,例如:
{% $value|sprintf(%.02f) %}
{% $value|trim %}
{% $value|onempty("N/A") %}
示例/配方WAR在App Engine中部署:http://chunk-docs.appspot.com/