ssm框架细枝末节之导出

来源:互联网 发布:excel数据服务器 编辑:程序博客网 时间:2024/06/02 01:49

页面代码片:

<script type="text/javascript"   src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    //获得多选的ID号
$("#selectAll").click(function(){
    $("input[type=checkbox]:gt(0)").attr("checked","checked");
});
//把获得的id号装进数组里并传回后台
$("#deleteAll").click(function(){
//定义数组
var array=new Array();
//对已选的多个id号进行遍历并装进数组
$("input[type=checkbox]:gt(0):checked").each(function(){
array.push($(this).parent().next().text());
});
//在浏览器的右击审查元素的控制台输出(验证一下)
console.log(array[0]);
  //通过window.location.href的方法确认数组的提交路径
location.href="${pageContext.request.contextPath }/user/educeUser?ids="+array;
});
});
</script>
</head>
<body>
<tr><td>
<!-- 模糊查询 -->
<form action="${pageContext.request.contextPath }/user/fuzzyQueryUser" method="post">
请输入查询:<input type="text" name="username"/>
<input type="submit" value="模糊查询"/>
</form>
   </td></tr>
   <!-- 查询全部用户的信息 -->
<table border="1">
<tr>
<td><input type="checkbox" id="selectAll"/></td>
<td>用户编号</td>
<td>用户名</td>
<td>用户年龄</td>
<td>用户性别</td>
<td>用户密码</td>
<td>用户修改</td>
</tr>
<c:forEach items="${list }" var="us">
<tr>
<td><input type="checkbox" /></td>
<td>${us.id }</td>
<td>${us.username }</td>
<td>${us.age }</td>
<td>${us.sex }</td>
<td>${us.password }</td>
<!-- 通过链接传值id进行修改 -->
<td><a
href="${pageContext.request.contextPath }/user/updateUserid?id=${us.id }">修改</a></td>


springmvc.xml文件:</tr>
</c:forEach>
</table>
<input type="button" value="批量导出" id="deleteAll"/>
</body>


controller控制类:
//导出
@SuppressWarnings("resource")
@ResponseBody
@RequestMapping("educeUser")
public String  educeUser(String ids) throws Exception  {
String[] ss = ids.split(",");
BufferedWriter bufwriter=null;
//将String类型的数组转为int类型
int[] idss=new int[ss.length];
for (int i = 0; i < ss.length; i++) {
idss[i] =Integer.parseInt(ss[i]);
}

//创建File
File file = new File("D://empll/empll.txt");
//判断文件是否存在
if(!file.exists()){
file.mkdirs();
}
List<User> educeUser = service.educeUser(idss);
//创建一个文件输出流,向指定的文件输出数据
FileOutputStream stream = new FileOutputStream(file);
//将字节流装换成字符流
OutputStreamWriter writer = new OutputStreamWriter(stream);
//缓冲字符流
bufwriter = new BufferedWriter(writer);
for (User user : educeUser) {
//写入
bufwriter.write(user.getAge()+"#"+user.getId()+"#"+user.getUsername());
//换行
bufwriter.newLine();
}
bufwriter.flush();
bufwriter.close();
stream.close();
return "redirect:/user/findAll";
}

springmvc.xml配置文件:
 <mvc:annotation-driven>
      <mvc:message-converters register-defaults="false">
 
            <!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
 
            <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
 
                <property name="supportedMediaTypes">
 
                    <list>
 
                        <!-- 这里顺序不能反,一定先写text/html,不然ie下出现下载提示 -->
 
                       <!--  <value>text/html;charset=UTF-8</value> -->
 
                        <value>application/json;charset=UTF-8</value>
 
                    </list>
 
                </property>
 
            </bean>
 
        </mvc:message-converters>
     </mvc:annotation-driven>

原创粉丝点击