Спрингбут: расширение для упрощения разработки
Автоматическое внедрение RequestMapping (без конфигурации).
Расширение Freemarker на Java для удобства использования.
Реализация совместимости параметров запроса по регистру, позволяющая передавать параметры без учёта регистра букв. Также обеспечивается совместимость с датами и поддержка автоматического сопоставления публичных полей объекта.
Нечувствительность URL к регистру букв.
Предоставление стандартного элемента управления постраничной навигацией.
Поддержка стиля написания кода, аналогичного .NET MVC.
Автоматическое внедрение RequestMapping (без конфигурации)
public class SpringMvcDemoController extends SpringMvcController {
public ModelAndView index(Integer a, String b) {
return this.pageVisit(m -> {
// реализация постраничного контроля
new Pager1(1, 20).setPageSize(10).out();
});
}
public ModelAndView index2() {
return new ModelAndView();
}
}
В файле application.properties можно настроить конфигурацию для ускорения автоматического отображения.
bsf.mvcpackage=com.bsf.mvc.webdemo.controller
Пример страницы Freemarker:
${Html.s("pagetitle", "Редактировать категорию")}
${Html.g("pagetitle")}
${Html.p(model.createtime)}
${Html.w(c.selected, "selected='selected'", "")}
Код бэкенда:
/**
* TemplateProvider — сокращение для расширения, упрощает использование в шаблонах страниц
Может быть унаследован и расширен
*/
public class SimpleTemplateProvider extends TemplateProvider {
/**
* Метод getattr — сокращение
*/
public Object g(String key) {
return getattr(key);
}
/**
* Метод setattr — сокращение
*/
public void s(String key, Object value) {
setattr(key, value);
}
/**
* where — сокращение
*/
public Object w(boolean istrue, Object trueObj, Object falseObj) {
return where(istrue, trueObj, falseObj);
}
/**
* print — сокращение
*/
public String p(Object o) {
return print(o);
}
}
Freemaker:
<#macro _pager formid="searchForm">
${pagehtml!}
<script type="text/javascript">
//js-функция для постраничной навигации
function pagerfunction(pageindex) {
$("#${formid}").prepend("<input type='hidden' name='pageindex' value='"+pageindex+"'/>");
$("#${formid}").prepend("<input type='hidden' name='pagesize' value='${pagesize!}'/>");
$("#${formid}}).submit();
}
</script>
</#macro>
Бэкенд:
new Pager1(pageindex, count).setPageSize(10).out();
/**
* Расширение springboot для имитации стиля .NET MVC
Необходимо наследовать NetController
*/
public class NetMvcDemoController extends NetMvcController {
public ActionResult index(Integer a, String b) {
// реализация постраничного контроля
new Pager1(1, 20).setPageSize(10).out();
return view();
}
public ActionResult index2() {
List a = new ArrayList<String>();
return view("/netmvcdemo/index2", a);
}
public ActionResult json() {
List a = new ArrayList<String>();
return json(a);
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )