У меня есть 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 сервлет не может работать.
Как это сделать, пожалуйста?