controller的部分:
@Controller
@RequestMapping("/ContactsFrameIndex")
public class ContactsFrameControl {
@Resource
private ContactsFrameServiceImpl contactsFrameServiceImpl;
/**
* 主界面
*
*/
@RequestMapping("/index")
public String getAllContactsList(HttpServletRequest request ,HttpServletResponse response,Model model,String page1){
int pageSize = 3;
//記錄總條數;
int total = contactsFrameServiceImpl.total();
System.out.println(total);
if((total % pageSize)==0){
int totalPage = total/pageSize;
model.addAttribute("totalPage",totalPage);
}else{
int totalPage = total/pageSize +1;
model.addAttribute("totalPage",totalPage);
}
if(page1 == null || page1.equals("")){
int page = 1;
model.addAttribute("page1",page);
ListPage<ContactsFrameEntity> contactsList = contactsFrameServiceImpl.getAllContacts(page,pageSize);
model.addAttribute("contactsList",contactsList);
model.addAttribute("forwardUrl", RequestUtil.encodeUrl(request));
return "views/contacts/index";
}else{
int page = Integer.valueOf(page1);
if(page-1<=0){
page =1;
}
model.addAttribute("page1",page);
ListPage<ContactsFrameEntity> contactsList = contactsFrameServiceImpl.getAllContacts(page,pageSize);
model.addAttribute("contactsList",contactsList);
model.addAttribute("forwardUrl", RequestUtil.encodeUrl(request));
return "views/contacts/index";
}
index.ftl
例如做加減運算的語句是這樣的:<a style="padding:0px 200px 10px 200px;"href="/ContactsFrameIndex/index.do?page1=${page1-1}" >上頁</a> <a>當前第 ${page1} 頁</a> <a style="padding-left:200px;"href="/ContactsFrameIndex/index.do?page1=${page1+1}">下頁</a> <a style="padding:0px 200px 10px 200px;">總共${totalPage}頁</a>
${page1+1},這種呢,千萬別把+1也到外面(${page1}+1),原因就是差值(${})就是一個字符串;
freemarker有一個特例:
我們知道啊,數字和字符串一般情況下是不能相加的,這是地球人都知道的事情,但是freemarker可以幫我們轉不信你試一下這個:
${3 + "5"}
猜結果是啥??結果是35,你不會想成了8吧???要注意哦!是數字會變字符串!
通常來說,FreeMarker 不會自動將字符串轉換為數字,反之會自動進行。
有時我們只想獲取計算結果的整數部分,這可以使用內建函數 int 來解決。(關於內 建函數后續章節會來解釋)
仍然假設 x 的值是 5,那么將會輸出:
總之:freemarker:運算要在自己內部;
在此可以看出,controller中傳入是int,ftl接收也是int,該是什么還是什么(框架這里已經幫我們全部轉好了),所有在本文綠色部分有些這個可以直接用Integer接收,不需要用String;(我也懶得改了)