我现在正在和ActiveWeb战斗。我发现,在我看来,它的手册在这里,http://javalite.io/activeweb包含了大量的去信息。
首先,它说ActiveWeb是zer配置,这不是真的。web.xml仍然是必需的。此外,还需要在java中进行配置。例如,文件AppBootstrap.java应该出现在适当的位置。
第二,我还没有找到如何配置视图来工作。
我有以下控制器
package app.controllers;
import java.util.Date;
import org.javalite.activeweb.AppController;
public class GreetingController extends AppController {
public void index() {
}
public void hello() {
view("date", new Date().toString());
view("name", param("name"));
}
}就像我在调试器中看到的那样。打开http://localhost:8080/testapp/greeting/hello时,将到达hello()方法中的断点。
不幸的是,位于WEB-INF/views/greeting/hello.ftl中的文件WEB-INF/views/greeting/hello.ftl显然被忽略了,因为浏览器输出是空的。
同时,它是100%空的,即根本没有HTTP报头。这指向建议,即缺少一些通用配置。
此外,我对任何查询都有空输出,包括
http://localhost:8080/testapp
http://localhost:8080/testapp/greeting
http://localhost:8080/testapp/abracadabra
而一些请求应该返回错误或服务消息。
请求
http://localhost:8080/
返回404,这意味着容器正常工作。
我的web.xml如下:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>dispatcher</filter-name>
<filter-class>org.javalite.activeweb.RequestDispatcher</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>css,images,js</param-value>
</init-param>
<init-param>
<param-name>root_controller</param-name>
<param-value>home</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>dispatcher</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>更新
当我从root_controller中删除web.xml参数时,服务器开始响应,目录清单为
http://localhost:8080/testapp
其他的答案仍然是完全空的。
更新2
显然WEB-INF/views/layouts/default_layout.ftl应该在场。否则,结果将为空,并且不会报告错误。
发布于 2014-09-11 19:07:27
在你的应用程序中,某些东西的配置是错误的。你能在吉特布的某个地方发消息吗?你也可以克隆这个应用程序:https://github.com/javalite/activeweb-bootstrap
https://stackoverflow.com/questions/25793946
复制相似问题