Как я могу использовать template-методы в groovy-servlet без компиляции? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть Groovy-сервлет с именем query1_action.groovy как:

String sql = "...";
String sql_count = "...";

try {
    def ctx = new javax.naming.InitialContext().lookup("java:/comp/env");
    def datasource = ctx.lookup("jdbc/tlink");
    def executer = Sql.newInstance(datasource);
    def rows = executer.rows(sql);
    def gson = new com.google.gson.GsonBuilder().setDateFormat("yyyy-MM-dd").create();
    def result = gson.toJson(rows);

    def rows_count = executer.firstRow(sql_count).num;
    int page_count = (rows_count+page_size-1)/page_size;
    out << """{"rs": "1", "rows": ${result}, "rows_count": ${rows_count}, "page": {"page_size": ${page_size}, "page_count": ${page_count}, "pn": ${p.pn}}}""";
} catch(Exception e) {
    context.log("query1_action.groovy === ${e}");
    out << '{"rs": "0"}';
}

У меня есть query1_action.groovy, query2_action.groovy и т. Д., Все части try-catch одинаковы.

И я хочу сделать шаблонные методы этой частью.

Я не знаю, как расширить некоторый базовый класс в этом случае, когда я расширяю класс, Groovy сервлет не может работать.

Как это сделать, пожалуйста?

...