DynamicMakeBean.java 这是一个servlet 用于动态产生网页
来源:互联网 发布:网络直播行业自律联盟 编辑:程序博客网 时间:2024/05/17 04:42
package com.huawei.common.action;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.huawei.common.util.T;
public class DynamicMakeBean extends HttpServlet {
/**
* Constructor of the object.
*/
private Map<String, String> fieldmap = new HashMap<String, String>();
private Map<String, List<String>> selectmap = new HashMap<String, List<String>>();
String beanUrl ;
String actionUrl;
String fieldType;
String attrVoname;
String operType;
public DynamicMakeBean() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
/*
Enumeration e=request.getParameterNames();
while(e.hasMoreElements()){
String str=(String)e.nextElement();
T.trace(str);
}*/
beanUrl = request.getParameter("beanUrl");
actionUrl = request.getParameter("actionUrl");
fieldType = request.getParameter("filedType");
attrVoname = request.getParameter("attrVoName");
operType=request.getParameter("operType");
T.trace(beanUrl+operType);
try {
Class cl = Class.forName(beanUrl);
Field[] fields = cl.getFields();
for (int i = 0; i < fields.length; i++) {
fieldmap.put(fields[i].getName(), fields[i].getType()
.getSimpleName());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 处理 filedType 如下格式
// EntityType.EntityDef:EntityType,EntityName;OperType.OperateDef:operType
// 或者是EntityType:SQL语句的形式
if (!fieldType.equalsIgnoreCase("null")) {
String[] selects = fieldType.split(";");
Map<String, String> sels = new HashMap<String, String>();// 先按;号分解出一个表有几个下拉框。
for (int j = 0; j < selects.length; j++) {
sels.put(selects[j].split(".")[0], selects[j].split(".")[1]);
}
for (Map.Entry<String, String> entry : sels.entrySet()) {
String desField = entry.getKey();
String srcEntityField = entry.getValue();
List<String> srcFieldEntity = Arrays.asList(srcEntityField
.split(":")[1].split(","));
srcFieldEntity.add(srcEntityField.split(":")[0]);
selectmap.put(desField, srcFieldEntity);
}
T.trace(selectmap);
}
// 接下来可以有自己定义一个数据库连接池,然后在数据库中查处相应的表中的列。
out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">");
out.println("<HTML>");
out.println(" <HEAD><TITLE></TITLE></HEAD>");
out.println(" <BODY>");
out.println("<form action='"+actionUrl+"'>");
for(Map.Entry<String, String> entry:fieldmap.entrySet()){
out.println(entry.getKey()+": "+"<input type='text' value='' name='"+attrVoname+"."+entry.getKey()+"'>");
}
out.println("<form >");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
- DynamicMakeBean.java 这是一个servlet 用于动态产生网页
- JavaWeb --Servlet编写一个动态网页
- 2. 一个简单的Servlet--产生存文本下面是一个产生存文本的简单servlet的实例
- 这是一个用于测试的主页
- java -JFugue是一个用于音乐作曲的Java API
- 网页打字机效果,用于新闻标题.数据库动态.
- 网页动态合并单元格,用于WEB报表
- JSP , Servlet 和动态网页.
- Servlet(动态网页)的学习
- Servlet动态产生JPEG图像的例子
- 网页病毒原来是这样产生的
- 创建一个动态网页
- 一个产生验证码的Servlet
- 一个用于产生hourly wind speed data 的program
- 一个用于清除loadrunner产生log文件的批处理
- ZXing是一个开源Java类库用于解析多种格式的条形码和二维码
- Java用于校验一个字符串是否是合法的JSON格式
- 动态还是静态,这是一个问题
- C编译基础
- vc模拟鼠标键盘操作实用类
- Tag打印功能
- index.jsp
- MySQL配置文件中文详尽解说版
- DynamicMakeBean.java 这是一个servlet 用于动态产生网页
- PHP配置文件中文详尽解说版(一)
- 绝对不能惹的国家
- PHP配置文件中文详尽解说版(二)
- Person.java //用于测试
- PHP配置文件中文详尽解说版(三)
- PHP配置文件中文详尽解说版(四)
- Java静态代理与动态代理
- PHP配置文件中文详尽解说版(五)