spring+struts2+freemarker整合
来源:互联网 发布:mmd动作数据下载网站 编辑:程序博客网 时间:2024/05/17 21:06
废话就不多说了,直接上代码:
addStudent.ftl文件:
<#assign path="${request.getContextPath()}"> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@include file="/shar/taglib.jsp" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>河北大学校友会</title><script type="text/javascript" src="../js/jquery-easyui-1.3.1/jquery-1.8.0.min.js"></script><script type="text/javascript" src="../js/jquery.validate.js"></script><script type="text/javascript" src="../js/jquery-easyui-1.3.1/jquery.easyui.min.js"></script><link rel="stylesheet" href="../js/jquery-easyui-1.3.1/themes/icon.css" type="text/css"></link><link rel="stylesheet" href="../js/jquery-easyui-1.3.1/themes/default/easyui.css" type="text/css"></link><script type="text/javascript" src="../js/jquery-easyui-1.3.1/locale/easyui-lang-zh_CN.js"></script><link rel="stylesheet" href="../css/common.css" type="text/css" /><script type="text/javascript">$(document).ready(function() {$("#form1").validate({rules : {"stu.name" : {required : true},"stu.email" : {required : true,email : true}},messages : {"stu.name": {required : "姓名不能为空"},"stu.email" : {required : "请输入email地址",email : "请输入正确的email地址"}}});});</script></head><body bgcolor="F0F3F5"><div id="man_zone"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="30"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="24" bgcolor="#353c44"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="6%" height="19" valign="bottom" bgcolor="#353c44"><div align="center"><img src="../images/tb.gif" width="14" height="14" /></div></td> <td width="94%" valign="bottom" bgcolor="#353c44"><span class="STYLE1"> 校友信息添加</span></td> </tr> </table></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><fieldset> <form action="studentAction!addStu.action" method="post" id="form1"> <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="355B70" bordercolor="#0000FF" > <tr > <td width="20%">姓 名:</td><td width="30%" ><input type="text" name="stu.name" id="name" value="" /></td><td width="20%">性 别:</td><td width="30%"><span> <select name="stu.sex" style="width:156px"><option value="">------------请选择------------</option><option value="男">男</option><option value="女">女</option></select> </span></td> </tr> <tr bgcolor="EEF2FB"> <td width="20%" >出生年月:</td><td width="30%" ><span id="servernet"><input type="text" name="stu.birthday" class="easyui-datebox" style="width:156px"/></span></td><td width="20%" >籍 贯:</td><td width="30%" ><span id="server_name"> <select name="stu.nativePlace" style="width:156px"><option value="">------------请选择------------</option><#list list2 as list2><option value="${list2.name }">${list2.name }</option></#list></select> </span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >工作单位:</td><td width="30%" ><span id="LbdwTotalPageFile"><input type="text"name="stu.placeOfWork"/></span></td><td width="20%" >政治面貌:</td><td width="30%" ><span id="serversoft"> <select name="stu.politicsStatus" style="width:156px"><option value="">------------请选择------------</option><#list list6 as list6><option value="${list6.name }">${list6.name }</option></#list></select> </span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >通讯地址:</td><td width="30%" ><span id="LbdwTotalVirtual"><input type="text" name="stu.address"></span></td><td width="20%" >职称职务:</td><td width="30%"><span id="LbdwAvailPageFile"><input type="text" name="stu.job"/></span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >办公电话:</td><td width="30%"><span id="serverarea"><input type="text"name="stu.officePhoneNum"/></span></td><td width="20%" >学历层次:</td><td width="30%"><span id="aspnetcpu"> <select name="stu.degreeLevel" style="width:156px"><option value="">------------请选择------------</option><#list list5 as list5><option value="${list5.name }">${list5.name }</option></#list></select> </span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >手 机:</td><td width="30%" ><span id="serveraccess"><input type="text" name="stu.mobilePhoneNum"/></span></td><td width="20%" >行政级别:</td><td width="30%" ><span id="LbdwTotalPhys"> <select name="stu.administrativeLevel" style="width:156px"><option value="">------------请选择------------</option><#list list4 as list4><option value="${list4.name }">${list4.name }</option></#list></select> </span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >所学专业:</td><td width="30%"><span id="LbdwAvailPhys"><input type="text" name="stu.major"></span></td><td width="20%" >是否在职:</td><td width="30%"><span id="serverip"> <select id="selectDemo" name="stu.beOnTheJob" style="width:156px"><option value="">------------请选择------------</option><option value="是">是</option><option value="否">否</option></select></span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >邮政编码:</td><td width="30%"><span id="cpuc"><input type="text" name="stu.postalcode"></span></td><td width="20%" >毕业院系:</td><td width="30%"><span id="aspnetn"> <select name="stu.graduatedDep" style="width:156px"><option value="">------------请选择------------</option><#list list1 as list1><option value="${list1.depName }">${list1.depName }</option></#list></select> </span></td></tr><tr bgcolor="EEF2FB"><td width="20%" >电子信箱:</td><td width="30%"><span id="cputype"><input type="text" name="stu.email" id = "email"/></span></td><td width="20%" >添加信息:</td><td width="30%"><span id="serveraccess"><img src="${path}/images/add-row.gif"/> <input type="submit" value="添加"/></span></td></tr> </table> </form> </fieldset></td> </tr></table></div></body></html>
struts2和spring的配置很简单,这里就不多说了。
service中生成html文件的方法:
* * * templatePath存放模板的目录 * targetHtmlPath存放生成html的目录 * ftl所需的模板文件 * fileName生成html文件的名称 * */@Overridepublic void createHtml(ServletContext context, Map<Object, Object> data,String templatePath,String targetHtmlPath,String ftl,String fileName) {Configuration cf = new Configuration();cf.setServletContextForTemplateLoading(context, templatePath);cf.setEncoding(Locale.getDefault(), "utf-8");Template template = null;try {template = cf.getTemplate(ftl);} catch (IOException e) {e.printStackTrace();}template.setEncoding("utf-8");String path = context.getRealPath(targetHtmlPath);String htmlFilePath = path +"/"+ fileName;File file = new File(htmlFilePath);try {Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));template.process(data, out);} catch (Exception e) {e.printStackTrace();}}
action中代码:
public String add() {list1 = otherService.searchXueyuan();list2 = otherService.searchPlace();list3 = otherService.searchMinzu();list4 = otherService.searchStulevel();list5 = otherService.searchDegreelevel();list6 = otherService.searchPolitics();Map<Object, Object> data = new HashMap<Object,Object>();data.put("list1", list1);data.put("list2", list2);data.put("list3", list3);data.put("list4", list4);data.put("list5", list5);data.put("list6", list6);//用于解决生成的html文件导入图片、js等不能显示的问题,需要在前台获得request.getContextPathdata.put("request", ServletActionContext.getRequest());otherService.createHtml(ServletActionContext.getServletContext(), data, "/templates/ftl", "/templates/html", "addStudent.ftl", "addStudent.html");return "add";}
跳转路径则为生成的html的路径。
对于生成的html文件不能正常显示图片,在网上搜了一下,需要在ftl模板文件中加入:
<#assign path="${request.getContextPath()}">
然后在图片的引用路径上加上path:
<td width="30%"><span id="serveraccess"><img src="${path}/images/add-row.gif"/> <input type="submit" value="添加"/></span></td>
- spring+struts2+freemarker整合
- Struts2整合FreeMarker实例
- Struts2 Freemarker 整合
- FreeMarker整合Struts2
- Struts2与FreeMarker整合
- FreeMarker 整合Struts2示例
- Struts2整合 Freemarker 实例
- struts2整合freemarker(一)
- freemarker+struts2整合(四)
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- Spring MVC 整合 Freemarker
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- FreeMarker整合Spring 3
- 类似WEBQQ的一套开源代码
- 金蝶EAS—BOS 开发经验
- 本原勾股数 POJ_1305
- ucos学习篇之信号量
- 平板取代PC是痴人说梦,Gartner预测有失水准
- spring+struts2+freemarker整合
- linux tar 解压缩
- 1062 两整数排序
- linux下mysql的rpm包安装
- Ucos学习之内存管理
- Crossfading Two Views 淡入淡出的两种观点
- as3中通过命名空间来实现方法的 "重载"
- 1063 两字符比大小
- 将Label的Caption内容竖向显示