⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testaction.java

📁 网络硬盘
💻 JAVA
字号:
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.zte.webfile.action;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;

import com.zte.webfile.dto.FileDTO;

/**
 * MyEclipse Struts Creation date: 04-04-2007
 * 
 * XDoclet definition:
 * 
 * @struts.action validate="true"
 */
public class TestAction extends Action {
	/*
	 * Generated Methods
	 */

	/**
	 * Method execute
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	private JdbcTemplate jdbcTemplate;

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		getFolder(request, response);
		return null;
	}

	public void getFolder(HttpServletRequest request,
			HttpServletResponse response) {
		// 获得session
		HttpSession session = request.getSession();
		// 获得当前用户
		String userName = (String) session.getAttribute("userName");
		// 通过用户名获得用户id
//		String sql = "select id from f_user where username=?";
//		Object[] params = new Object[] { userName };
//		Integer userId = (Integer) jdbcTemplate.queryForObject(sql, params,
//				Integer.class);
		// 通过用户名获得此用户名对应的跟文件夹的id
		String sql_file = "select id from f_file where filename=?";
		Object[] params1 = new Object[] { userName };
		Integer fileid1 = (Integer) jdbcTemplate.queryForObject(sql_file,
				params1, Integer.class);
		// 存放文件夹信息的哈希表,哈希表的key为文件夹的名称,value为文件夹名称所对应的id
		HashMap folderMap = new HashMap();
		// 首先把跟文件夹信息放入folderMap
		folderMap.put(userName, fileid1);
		// 调用递归方法,把文件夹信息放入hashmap
		getChildFolder(folderMap, userName, fileid1, userName);
	}

	// 递归某用户下的所有文件夹信息。
	public void getChildFolder(HashMap folderMap, String userName,
			Integer fileParent, String parentFolder) {
		// 把获得的文件夹信息放入fileList中
		final List fileList = new ArrayList();
		// SQL
		String sql = "select id,filename from f_file where isfolder=?,fileowner=?,fileparent=?";
		// 参数列表
		Object[] params = new Object[] { "0", userName, fileParent };
		// int types[]=new int[]{Types.CHAR,Types.INTEGER,Types.INTEGER};
		jdbcTemplate.query(sql, params, new RowCallbackHandler() {

			public void processRow(ResultSet rs) throws SQLException {
				// TODO 自动生成方法存根
				FileDTO dto = new FileDTO();
				dto.setId((Integer) rs.getObject(1));
				dto.setFileName((String) rs.getObject(2));
				fileList.add(dto);
			}
		});
		// 遍历获得的子文件夹信息
		if (fileList.size() == 0) {
			return;
		} else {
			Iterator it = fileList.iterator();
			while (it.hasNext()) {
				// 获得每个文件夹
				FileDTO dto = (FileDTO) it.next();
				String folderExpName = parentFolder + "/" + dto.getFileName()
						+ "/";
				folderMap.put(folderExpName, dto.getId());
				getChildFolder(folderMap, userName, dto.getId(), folderExpName);
			}
		}

	}


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -