私は現在ActiveWebと戦っています。私には思えますが、ここのマニュアルであることがわかりましたhttp://javalite.io/activewebには多くの偽情報が含まれています。
まず、ActiveWeb は zer-configuration であると書かれていますが、これは正しくありません。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()
メソッドのブレークポイントに到達します。
残念ながら、ブラウザの出力が空であるため、hello.ftl
にあるファイルWEB-INF/views/greeting/hello.ftl
は明らかに無視されます。
同時に、100% 空です。つまり、HTTP ヘッダーはまったくありません。これは、いくつかの一般的な構成が欠落しているという提案を示しています。
また、EVERクエリには空の出力があります。
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
存在するはずです。それ以外の場合、結果は空になり、エラーは報告されません。