ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>
qéçæExcelçšçæ¯POIçAPI
WebWorkäžå®ä¹ResultTypeè§åŸŸcÕdåªéèŠçôæ¿Resultæ¥å£
代ç åŠäž
package com.customer.resulttype;
import com.opensymphony.xwork.Result;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.webwork.ServletActionContext;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
public class ExcelResult implements Result{
 (tš©ng) (tš©ng) (tš©ng) private HSSFWorkbook workbook;
 (tš©ng) (tš©ng) (tš©ng) private String filename;
 (tš©ng) (tš©ng) (tš©ng) private String contenttype;
 (tš©ng) (tš©ng) (tš©ng) public void execute(ActionInvocation invocation) throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) if(contenttype==null)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) contenttype = "application/ms-excel";
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) if (workbook==null)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) workbook = (HSSFWorkbook) invocation.getStack().findValue("workbook");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HttpServletResponse response = ServletActionContext.getResponse();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) response.setContentType(contenttype);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) response.setHeader("Content-Disposition","attachment;Filename="+filename+".xls");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) OutputStream os = response.getOutputStream();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) workbook.write(os);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) os.flush();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) os.close();
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public void setWorkbook(HSSFWorkbook workbook) {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) this.workbook = workbook;
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public void setFilename(String filename) {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) this.filename = filename;
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public void setContenttype(String contenttype) {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) this.contenttype = contenttype;
 (tš©ng) (tš©ng) (tš©ng) }
}
è§åŸåå®ä¹åååŠäžé
Ÿ|®è¿è¡æµè¯?br />
package com.customer.action;
import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.webwork.ServletActionContext;
import com.dboperate.ResultGather;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ByteArrayInputStream;
import java.util.List;
import java.util.Map;
public class ExportExcelAction extends ActionSupport {
 (tš©ng) (tš©ng) (tš©ng) private HSSFWorkbook workbook;
 (tš©ng) (tš©ng) (tš©ng) public String execute() throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) return SUCCESS;
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public String product() throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) try {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) workbook = new HSSFWorkbook();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFSheet sheet = workbook.createSheet();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) workbook.setSheetName(0, "åå产å", (short) 1);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFRow row = sheet.createRow((short) 0);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell0 = row.createCell((short) 0);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell1 = row.createCell((short) 1);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell2 = row.createCell((short) 2);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell3 = row.createCell((short) 3);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell4 = row.createCell((short) 4);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell5 = row.createCell((short) 5);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell6 = row.createCell((short) 6);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell7 = row.createCell((short) 7);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell8 = row.createCell((short) 8);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) HSSFCell cell9 = row.createCell((short) 9);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell0.setEncoding(HSSFCell.ENCODING_UTF_16);//qéæ¯è®ŸŸ|®çŒç ä¿è¯äžææ£åžžæŸœC?br /> (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell3.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell4.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell5.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell6.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell7.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell8.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell9.setEncoding(HSSFCell.ENCODING_UTF_16);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell0.setCellValue("ååå?);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell1.setCellValue("产åå?);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell2.setCellValue("éé");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell3.setCellValue("æçñ");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell4.setCellValue("parama");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell5.setCellValue("paramb");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell6.setCellValue("paramc");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell7.setCellValue("paramd");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell8.setCellValue("ç¶æ?);
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) cell9.setCellValue("倿³š");
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) } catch (Exception e) {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) return SUCCESS;
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public HSSFWorkbook getWorkbook() {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) return workbook;
 (tš©ng) (tš©ng) (tš©ng) }
}
Xwork.xmläžé
Ÿ|®å å
?br />
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) <result-type default="true" name="freemarker"
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) <result-type name="excel" class="com.customer.resulttype.ExcelResult"/>
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) </result-types>
 (tš©ng)<action name="exportExcel" class="com.customer.action.ExportExcelAction">
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) <result name="success" type="excel">
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) <param name="filename">productparam>
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) </result>
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) </action>
 (tš©ng) (tš©ng) (tš©ng) public String update() throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) ....
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public String delete() throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) ....
 (tš©ng) (tš©ng) (tš©ng) }
 (tš©ng) (tš©ng) (tš©ng) public String list() throws Exception {
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) ....
 (tš©ng) (tš©ng) (tš©ng) }
DAO
äžé¢æ¯DAOæ¥å£
public interface BaseDao {
 (tš©ng) (tš©ng) (tš©ng) public int insert(Object form);
 (tš©ng) (tš©ng) (tš©ng) public int update(Object form);
 (tš©ng) (tš©ng) (tš©ng) public int delete(Object form);
 (tš©ng) (tš©ng) (tš©ng) public int delete(int[] id);//q鿝äØ(fšŽ)äº?jiš£n)æ¯ææ¹éå é?br /> (tš©ng) (tš©ng) (tš©ng) public Map getInfo(Object form);
 (tš©ng) (tš©ng) (tš©ng) public List getList();
 (tš©ng) (tš©ng) (tš©ng) public void getList(Pagination page);//qéæ²¡æqååû|Œå
诊ãããã?br />}
EXTENDS
æ©å±éšå
1 BaseAction
qéå¢å äº?jiš£n)äžäºå
¬çšæ¹äŸ¿çåèœåQ䟿äºå
¶ä»ACTIONŸl§æ¿åQå
±ç?br />2 DaoSupport
qé乿¯äžäºå
¬çšçåèœåQDaoäžçšç倧éšåSQLéœæ¯é
眮åšå€éšé
Ÿ|®æä»¶äž
3DaoFactory
public class DaoFactory {
 (tš©ng) (tš©ng) (tš©ng) public static BaseDao getDao(String daoKey){
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) if("user".equals(daoKey)) //qæ ·çæ¹åŒå¯ä»¥éè¿åšXWORK.XMLäžé
Ÿ|®ACTION䜿çšåªäžªDAOåQé(ršŽn)ææ³šå
¥ïŒ(jšª)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) return new UserDao();
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) else
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) return null;
 (tš©ng) (tš©ng) (tš©ng) }
}
æ°æ®åºæ¯MYSQL5
CREATE TABLE `usertbl` ( (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `User_ID` int(11) NOT NULL auto_increment, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `username` varchar(50) default NULL, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `password` varchar(50) default NULL, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `truename` varchar(50) default NULL, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `usersex` tinyint(4) default NULL, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) `useremail` varchar(50) default NULL, (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) PRIMARY KEY (tš©ng) (`User_ID`) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng)
 (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) (tš©ng) )
æºç äžè²å°å
http://www.migti.com/download.ww
åŠä¹ (fš€n)çæ¶åçäº?jiš£n)çœäžçäžäºé
Ÿ|®æœEïŒæ²¡æèŸÖ°æŠçç»æ?BR>æ¥äº(jiš£n)奜å€èµææåŒåºæ¥åQéååèªå·±æŽçåÞZžäžªé
Ÿ|®æ¹æ³?BR>
web.xml
// qéäžéèŠé
Ÿ|®åœWŠè¿æ»€ïŒŸ|äžæçäŸåå äº(jiš£n)åQå®é
äž
webwork.propertiesé讟Ÿ|®åŠäžå°±å¯ä»¥äº?jiš£n)页é¢ä¹æ¯GBK
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
åQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQ?BR><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.atlassian.xwork.ext.ResolverSetupServletContextListener</listener-class>
</listener>
<!--
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
-->
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>com.opensymphony.webwork.views.freemarker.FreemarkerServlet</servlet-class>
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>webwork</taglib-uri>
<taglib-location>/WEB-INF/webwork.tld</taglib-location>
</taglib>
</web-app>
åQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQïŒåQ?BR>
xwork.xml
==================---------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml"/>
<package name="users" extends="webwork-default"
externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">
<interceptors>
<interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/>
<interceptor-stack name="myDefaultWebStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="reference-resolver"/>
<interceptor-ref name="model-driven"/>
<interceptor-ref name="params"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myDefaultWebStack"/>
<action name="blogUser" class="com.jsblog.action.BlogUserAction">
<external-ref name="baseDao">baseDaoTarget</external-ref> //q鿝æapplicationContextéé
Ÿ|®çDAO 泚å
¥actioné?actionéèŠæbaseDao屿?BR> <result name="success">/add.htm</result>
</action>
-------------------------------------------------------------------------
applicationContext.xml
---------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="no" default-dependency-check="none" default-lazy-init="false">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value>jfy</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<value>com/jsblog/BlogUserForm.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
net.sf.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="baseDaoTarget" class="com.jsblog.dao.BlogUserDao">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
</beans>
---------------------------------------------------------------------------
BlogUserDao.java
---------------------------------------------------------------------------
package com.jsblog.dao;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.SessionFactoryUtils;
import com.jsblog.BlogUserForm;
import java.io.Serializable;
import java.util.List;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
public class BlogUserDao extends HibernateDaoSupport implements BaseDao {
public void insert(BlogUserForm bloguser) {
getHibernateTemplate().save(bloguser);
}
}
œW¬äž¿UçšActionContextŸc»ïŒææçåæ°éœä»qéActionContext.getContext().getParameters()å?BR>ä»è¿åçæ¯äžäžªMapŸcÕd
Map param= ActionContext.getContext().getParameters();
åŠææäžäžªæäº€è¿æ¥çusername
é£å°±å¯ä»¥qæ ·å?BR>param.get("username");äžè¿qéèŠæ³šæäžäžparam.get("username")æ¯äžäžªStringæ°ç»(äžÞZ»ä¹èŠqåæ°æ®æä¹äžç¥éïŒæä»weblogicœHå£çå°param.get("username")被outåºæ¥Ljava.lang.StringåQå¿zÖMº(jiš£n)å倩)
String value[] = (String[])param.get("username");
String username = "";
for(int i=0;i<value.length;i++)
{
username +=value[i];
}
qæ ·®±å¯ä»¥åŸå°æ£Œ®çusernameäº?/P>
œW¬äº¿Uæ¹æ³æ¯çŽæ¥ærequeståŒçšqæ¥
ServletActionContext.getRequest().getParameter("username")
ServletActionContext.getRequest()®±æ¯httpservletrequest
q䞪ŸcÕdimport com.opensymphony.webwork.ServletActionContext
çšèvæ¥æ¹äŸ¿äº
ååæ¥è§Šäº?jiš£n)FreeMarkerè§åŸäžé
åäº(jiš£n)䞪å°äŸå
ååæ¥è§Šäº?jiš£n)FreeMarkerè§åŸäžéåäº(jiš£n)䞪å°äŸå,没æçšå°jspåjsptag
éŠå
建ç«äžªæ°æ®è¡šé颿username,passwordäž€äžªåæ®µèªå·±é䟿å å æ¡æ°æ?BR>建ç«äžäžªwebwork action TestAction.java
åšxwork.xmléå å
¥åŠäžå
å®?BR>----------------------------------------
----------------------------------------
TestAction.java代ç åŠäž
--------------------------------------------------
package com.action;
import com.opensymphony.xwork.ActionSupport;
import java.util.*;
import com.ResultGather;
public class TestAction extends ActionSupport
{
private List lis;
private ResultGather rs;
public List getLis()
{
return this.lis;
}
public String execute() throws Exception
{
rs = new ResultGather();
lis = rs.selectRS("select * from userbasedatum");//æ°æ®Ÿlæææ¯çšList,HashMap®è£
ç?HashMapåçæ¯åæ¡è®°åœ?BR> return SUCCESS;
}
}
-------------------------------------------------------------------------------------------------------------------
ResultGather.java代ç åŠäž
----------------------------------------------------------
package com;
import conn.DBConnManager;//æ°æ®åºè¿æ¥æ±
import java.sql.*;
import java.util.*;
public class ResultGather
{
private String sql;
public ResultGather()
{
}
public ResultGather(String sqlcom)
{
this.sql=sqlcom;
}
public List selectRS(String sqlStr)
{
this.sql = sqlStr;
return selectRS();
}
public List selectRS() //æ°æ®Ÿlæåšè¿éè£
å
¥ListåMap
{
List rsall = new ArrayList();
DBConnManager conn = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
Map rsTree;
try{
conn = DBConnManager.getInstance();
con = conn.getConnection("mssql");
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
while(rs.next())
{
rsTree = new HashMap(numberOfColumns);
for(int r=1;r
rsTree.put(rsmd.getColumnName(r),rs.getObject(r));
}
rsall.add(rsTree);
}
}catch(java.lang.Exception ex){
ex.printStackTrace();
}finally{
try{
if(rs!=null)
rs.close();
if(stmt!=null)
stmt.close();
if(conn!=null)
conn.releaseConnection("mssql",con);
}catch(Exception e){
System.out.println(e);
}
}
return rsall;
}
}
-----------------------------------------------------------------------------------------------
test.flt代ç åŠäž
-----------------------------------------------------------------------------------------
<#list lis as x>
${x.username},
${x.password}
</#list>
#LIST> //freemarkerçšæ³Ÿ|äžæçžå
³ä»Ÿl?BR>-------------------------------------------------------------------------------------
OK 宿äº?没æçšå°jsp<%.....%>åjsptag
çšè¿äžªäŸååäžç¹ä¿®æ¹å°±å¯ä»¥å
ähå页çšèœäº?/P>