/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.free.struts.action;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.free.struts.form.LoginForm;
import com.freemarker.DBHelper;
import com.freemarker.PageSet;
import com.freemarker.StaticFreemarker;
import com.freemarker.jobs;
/**
* MyEclipse Struts
* Creation date: 07-27-2009
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/form/login.jsp" scope="request" validate="true"
*/
public class LoginAction extends DispatchAction {
/*
* Generated Methods
*/
/**
* 查找所有jobs的数据
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward findJobsList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub
StaticFreemarker sf= new StaticFreemarker();
Map map = new HashMap();
List<jobs> jobsList = jobsList = DBHelper.getJobs();
map.put("jobList", jobsList);
try {
sf.init("jobsList.html", "jobList.html", map, "index",getServlet().getServletContext());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mapping.findForward("jobList");
}
/**
* 根据Id查找jobs数据
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward findJobsByJob_id(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String job_id = request.getParameter("job_id");
StaticFreemarker sf= new StaticFreemarker();
Map map = new HashMap();
jobs job = DBHelper.getJobsByJob_id(Integer.parseInt(job_id));
map.put("job", job);
String flie = "jobDesc_"+job_id+".html";
try {
sf.init("jobsDesc.html", flie, map, "index",getServlet().getServletContext());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ActionForward forward = new ActionForward("/jobDesc_"+job_id,"/news/video/20090728/jobDesc_"+job_id+".html",true);
return (forward);
}
// tablelist为显示的数据List
private List<jobs> jobList;
// 总数size
private List listsize;
// 设置 PageSet 对象
PageSet pageset = new PageSet();
/**
* 分页的方法
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward pageJobs(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
StaticFreemarker sf= new StaticFreemarker();
Map map = new HashMap();
// 取得页面中的参数--当前页
int curpage = (request.getParameter("current") == null) ? 1
: Integer.parseInt((String) request.getParameter("current"));
pageset.setCurPage(curpage);
// 变量---rowsize()---每行多少记录
int rowsize = (request.getParameter("rowSize") == null) ? pageset
.getRowSize() : Integer.parseInt((String) request
.getParameter("rowSize"));
// 查找所有
listsize = DBHelper.getJobs();
// 设定共有多少行
pageset.setRowCount(listsize.size());
// 计算总页数
pageset.countMaxPage();
// 显示数据的list
jobList = DBHelper.pageJobs((curpage * rowsize) - 5, rowsize);
map.put("listsize", listsize);
map.put("jobList", jobList);
map.put("pageset", pageset);
try {
//这个模板可以是ftl、html、htm格式的文件;
sf.init("jobsListPage.html", "jobListPage_"+curpage+".html", map, "index",getServlet().getServletContext());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ActionForward forward = new ActionForward("/jobListPage","/news/video/20090728/jobListPage_"+curpage+".html",true);
return (forward);
}
/****************************************************************************************************************/
/**
* 生成所有静态html页面
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward jspAutoHtml(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List list_1 = DBHelper.getJobs();
PageSet pageset_1 = new PageSet();
// 设定共有多少行
pageset_1.setRowCount(list_1.size());
// 计算总页数
pageset_1.countMaxPage();
for(int i=1;i<=pageset_1.getPageSize();i++){
autoHtmlPage(i,5);
}
for(int i=0;i<list_1.size();i++){
autoHtmlDesc(((jobs)list_1.get(i)).getJob_id());
}
return mapping.findForward("jobList");
}
/**
* 生成html的方法(分页的)
* @param curpage
* @param rowsize
*/
public void autoHtmlPage(int curpage,int rowsize){
StaticFreemarker sf= new StaticFreemarker();
Map map = new HashMap();
// 取得页面中的参数--当前页
pageset.setCurPage(curpage);
// 查找所有
listsize = DBHelper.getJobs();
// 设定共有多少行
pageset.setRowCount(listsize.size());
// 计算总页数
pageset.countMaxPage();
// 显示数据的list
jobList = DBHelper.pageJobs((curpage * rowsize) - 5, rowsize);
map.put("listsize", listsize);
map.put("jobList", jobList);
map.put("pageset", pageset);
try {
//这个模板可以是ftl、html、htm格式的文件;
sf.init("jobsListPage.html", "jobListPage_"+curpage+".html", map, "index",getServlet().getServletContext());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 生成html的方法(详细的)
* @param curpage
* @param rowsize
*/
public void autoHtmlDesc(String job_id){
StaticFreemarker sf= new StaticFreemarker();
Map map = new HashMap();
jobs job = DBHelper.getJobsByJob_id(Integer.parseInt(job_id));
map.put("job", job);
String flie = "jobDesc_"+job_id+".html";
try {
sf.init("jobsDesc.html", flie, map, "index",getServlet().getServletContext());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List<jobs> getJobList() {
return jobList;
}
public void setJobList(List<jobs> jobList) {
this.jobList = jobList;
}
public List getListsize() {
return listsize;
}
public void setListsize(List listsize) {
this.listsize = listsize;
}
public PageSet getPageset() {
return pageset;
}
public void setPageset(PageSet pageset) {
this.pageset = pageset;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
jsp 静态引擎(freemarker)生成静态html案例
共36个文件
class:9个
java:9个
ftl:3个
4星 · 超过85%的资源 需积分: 10 108 下载量 148 浏览量
2010-04-23
10:58:37
上传
评论 6
收藏 31KB RAR 举报
温馨提示
1.freemarker 是一个干净轻量的模板引擎,源代码结构也很清晰. 你可以直接写一个java main方法来调用它,我的代码生成器就是这么做的. 2.freemarker 写出来的页面一般都是xml格式友好的,也就是说你可以写出很规范的xhtml,而且还可以直接使用一些xml的代码格式化工具直接美化.而且很容易发现其中缺少或者嵌套错误的tag 3. 个人觉得freemarker 和taglib,jsf至少在使用层面上很像,但是freemarker 的macro容易写,几行代码就搞定了,taglib和jsf需要写一堆java文件和tld文件,繁琐得很 4.freemarker 不能直接调用java对象的method. 这点有些人认为这是个缺点,但是我不这样认为. 个人觉得对于一个view层的东西来说,你要做的就是把view展现好就行了,不要再view中调用业务方法. 以前在公司做产品和后来做项目时就一再和手下的coder强调这点,但是因为种种原因,大家都还是会偷懒,直接在view中调用.用了fm后就不一样了, 现在你想在view中调用业务方法,那么你需要绕n个圈才能做到,还不如直接按照标准的mvc来做.
资源推荐
资源详情
资源评论
收起资源包目录
freemarkerProjectName.rar (36个子文件)
freemarkerProjectName
.project 1KB
.mymetadata 330B
WebRoot
css
page.css 2KB
WEB-INF
.struts-config.mex 978B
web.xml 1KB
struts-config.xml 892B
lib
classes
com
free
test
StaticFreemarker.class 2KB
Test.class 2KB
struts
action
LoginAction.class 6KB
form
LoginForm.class 800B
ApplicationResources.properties 97B
freemarker
StaticFreemarker.class 2KB
jobs.class 1KB
PageSet.class 1KB
DBHelper.class 4KB
HelloFreeMarker.class 2KB
index.jsp 1KB
META-INF
MANIFEST.MF 39B
index
jobsDesc.ftl 559B
jobsDesc.html 559B
jobsList.ftl 978B
jobsListPage.ftl 6KB
jobsList.html 1KB
jobsListPage.html 6KB
.myeclipse
src
com
free
test
StaticFreemarker.java 1KB
Test.java 2KB
struts
action
LoginAction.java 7KB
form
LoginForm.java 954B
ApplicationResources.properties 97B
freemarker
DBHelper.java 3KB
PageSet.java 1KB
StaticFreemarker.java 1KB
jobs.java 676B
HelloFreeMarker.java 1KB
.mystrutsdata 255B
.classpath 1KB
共 36 条
- 1
changyuanAccp
- 粉丝: 10
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于OpenCV的视频道路车道检测python源码+文档说明+实验演示+图片+使用方法(高分毕业设计)
- 基于OpenCV的案例:图像边缘、角点和轮廓检测,图像分割,图像增强;图片拼接;运动目标检测,颜色直方图比较,三帧帧差法,抠图
- SmartPlug-html大一笔记
- SmartPlug-proteusdemo
- Preliminary Findings on Handmade Rattan Baby Crib andBassinet Designs Regarding.zip
- aveebfq_v1.2.83_downyi.com.apk
- 基于有机发光二极管(OLED)的建模优化算法的matlab仿真源码+数据+文档说明+项目说明(高分课程设计)
- hash01-test.c 本人哈希表(一)的示例代码,仅供参考!
- 处理数据.py
- 软件实施计划表.xls
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页