下面是我个人的一个小总结,有看不明白的地方请大家记得留言
<修改回显>
一.首先复制修改页面 达到以下格式 ck.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
</script>
</head>
<body>
<form>
ID:<input type="text" name="tid" readonly="readonly" value="${tree.tid }"><br>
名称:<input type="text" name="tree_name" value="${tree.tree_name }"><br>
数量:<input type="text" name="buy_num" value="${tree.buy_num}"><br>
单价:<input type="text" name="unit_price" value="${tree.unit_price }"><br>
种类:<input type="text" name="kname" value="${tree.kname }">
</form>
</body>
</html>
二.在webapp下创建静态页面文件夹page,模板templates,将ck.jsp复制到文件夹templates下,更改后缀为ck.ftl
三.之前写的修改回显查询sql语句没有查下拉框kname,因为是ajax动态获取的,所以需要修改捞数据的查询语句
利用联查----
<select id="getTree" resultType="com.my.bean.Tree">
select t.*,k.kname from tree t left join kind k on t.kid=k.kid where t.tid=#{tid}
</select>
进入list页面–>添加按钮
<input type="button" value="生成静态页面" onclick="jt(${tree.tid})">
function jt(tid){
$.post(
"jt",
{tid:tid},
function(obj){
if(obj){
alert("生成静态页面成功");
location.href="list.do";
}else{
alert("生成静态页面失败");
}
},
"json"
);
}
进入controller页面
@SuppressWarnings("resource")
@RequestMapping("/jt")
@ResponseBody
public boolean jt(int tid,HttpServletRequest request) throws IOException, TemplateException {
//生成静态页面
Configuration config = new Configuration(Configuration.VERSION_2_3_27);
//指定目录 path 就是webapp路径
String path = request.getSession().getServletContext().getRealPath("/");
config.setDirectoryForTemplateLoading(new File(path+"/templates"));
//数据模型
Map map = new HashMap();
map.put("tree", ts.getTree(tid));
//获取模板
Template t1 = config.getTemplate("ck.ftl");
//指定输出流
FileWriter out = new FileWriter(path+"/page/"+tid+".html");
//执行
t1.process(map, out);
out.close();
return true;
}
进入list页面 添加按钮
<input type="button" value="查看静态页面" onclick="ck(${tree.tid})">
//直接跳转静态页面
function ck(tid){
location.href="page/"+tid+".html";
}
<添加操作>
进入list页面 添加按钮
<input type="button" value="查看添加时静态页面" onclick="addck('${u.name}')">//英文和汉字传参的时候要加单引号
function addck(name){
location.href="page/"+name+".html";
}
templates中添加add.ftl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<marquee>添加页面</marquee>
<form>
<table>
<tr><td width="100">用户名:</td><td width="200"><input type="text" name="uname" value="${users.uname }"></td></tr><br>
<tr><td width="100">姓名:</td><td width="200"><input type="text" name="name" value="${users.name }"></td></tr><br>
<tr><td width="100">身份证号:</td><td width="200"><input type="text" name="identity" value="${users.identity }"></td></tr><br>
<tr><td width="100">是否有效:</td><td width="200"><input type="text" name="enabled" value="${users.enabled }"></td></tr><br>
<tr><td width="100">性别:</td><td width="200"><input type="text" name="sex" value="${userex.sex }"></td></tr><br>
<tr><td width="100">出声年月:</td><td width="200"><input type="text" name="brith" onclick="WdatePicker()" value="${userex.brith }"></td></tr><br>
<tr><td width="100">邮箱:</td><td width="200"><input type="text" name="email" value="${userex.email }"></td></tr><br>
<tr><td width="100">手机号:</td><td width="200"><input type="text" name="phone" value="${userex.phone }"></td></tr><br>
</table>
</form>
进入controller的添加分支
@SuppressWarnings("resource")
@RequestMapping("/add")
@ResponseBody
public boolean add(UserAll u,HttpServletRequest request) throws IOException, TemplateException {
Users users = u.getiUsers();
//生成静态页面
Configuration config = new Configuration(Configuration.VERSION_2_3_27);
//指定目录
String path = request.getSession().getServletContext().getRealPath("/");
config.setDirectoryForTemplateLoading(new File(path+"/templates"));
//数据模型
Map map = new HashMap();
int i =us.addusers(users);
Integer _uid = users.getUid();
UserEx userex = u.getiUserEx(_uid);
int j = us.adduserEx(userex);
map.put("users",us.getUsers(users.getUid()));
map.put("userex",us.getUserEx(userex.getUid()));
//获取模板
Template t1 = config.getTemplate("add.ftl");
//指定输出流
FileWriter out = new FileWriter(path+"/page/"+u.getName()+".html");
//执行
t1.process(map, out);
out.close();
return true;
}