0

私は速度コンテキストに1つのメソッドを入れようとしています:

ctx.put("round", roundServiceTime(serviceTimeRound));


public int roundServiceTime (int serviceTimeRound) {
    double sum = serviceTimeRound/60;
    this.serviceTimeRound = (int)Math.ceil((double)sum);
    return serviceTimeRound;

}

エラー行: #set( $val = $round(90))

そしてエラーが発生します:

Encountered "(" at line 175, column 20.

... ... "-" ... "+" ... "*" ... "/" ... "%" ... "&&" ... "|| " ... "<" ... "<=" ... ">" ... ">=" ... "==" ... "!=" ... ...

問題はどこだ ?

4

1 に答える 1

2

コードをもう一度見た後、そのメソッドを簡単に呼び出すことができるように、ある種の「魔法のリンク」をコンテキストに入れたいと思います。ただし、コンテキストにはオブジェクトのみが含まれます。

メソッドをユーティリティ クラスに入れることで、目的を達成できます。

public class Rounder {

    public static final Rounder INSTANCE = new Rounder(); 

    public int roundServiceTime (int serviceTimeRound) {
        double sum = serviceTimeRound / 60.0;
        return (int)Math.ceil(sum);
    }
}

次に、ユーティリティ クラスのインスタンスをコンテキストに配置できます。

ctx.put("rounder", Rounder.INSTANCE);

テンプレートで使用します。

$rounder.roundServiceTime($someValue)
于 2013-05-27T09:24:57.980 に答える