0

私は現在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存在するはずです。それ以外の場合、結果は空になり、エラーは報告されません。

4

1 に答える 1