一个存储过程,或者说SQL,直接查询得到集合。其中核心的表是:user_tab_cols,user_col_commons
View Code
/************************************************************************************/
/* 功能说明:根据表名查询表字段信息 */
/* 参数说明: */
/* i_table_name IN VARCHAR2 表名 */
/* o_cursor OUT cursor_type 返回游标 */
/* */
/* 创建日期 姓名 */
/* 2013-05-06 路人甲 */
/* COPYRIGHT(C) 2004 */
/* PINGAN INSURANCE (GROUP) COMPANY OF CHINA. */
/* ALL RIGHTS RESERVED . */
/************************************************************************************/
create or replace PROCEDURE p_list_table_column( i_table_name IN VARCHAR2,
o_cursor OUT cursor_type)
AS
BEGIN
begin
open o_cursor for
select t1.table_name as tableName,
t1.column_name as columnName,
t1.data_type as dataType,
t1.data_length as dataLength,
t2.comments as comments
from user_tab_cols t1, user_col_comments t2
where t1.table_name = t2.table_name
and t1.column_name = t2.column_name
and t1.table_name = upper(i_table_name);
end;
END p_list_table_column;
调用获取方法,当前采用IBATIS操作:
1、实体对象:
View Code
/**表管理对象
*
* @author : 路人甲
* @create_date :2013-5-6 上午08:57:15
*
*/
public class TableDataManagerDTO extends BaseDTO {
/**
* UID
*/
private static final long serialVersionUID = 1824560673414067948L;
// 表名
private String tableName;
// 字段名
private String columnName;
// 字段类型
private String dataType;
// 字段长度
private BigDecimal dataLength;
// 备注说明
private String comments;
public String getColumnName()
{
return columnName;
}
public void setColumnName(String columnName)
{
this.columnName = columnName;
}
public String getComments()
{
return comments;
}
public void setComments(String comments)
{
this.comments = comments;
}
public BigDecimal getDataLength()
{
return dataLength;
}
public void setDataLength(BigDecimal dataLength)
{
this.dataLength = dataLength;
}
public String getDataType()
{
return dataType;
}
public void setDataType(String dataType)
{
this.dataType = dataType;
}
public String getTableName()
{
return tableName;
}
public void setTableName(String tableName)
{
this.tableName = tableName;
}
}
2、工具类:
View Code
package com.pingan.saims.scms.systemmanage.util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.oscache.util.StringUtil;
import com.paic.pafa.app.web.exception.PafaWebException;
import com.pingan.saims.scms.common.util.EXStringUtil;
import com.pingan.saims.scms.systemmanage.dto.TableDataManagerDTO;
import com.pingan.tsv2.tcms.common.util.CURDUtil;
/**动态表获取SQL语句
*
* @author : 路人甲
* @create_date :2013-5-6 上午09:46:18
*
*/
public class TableDataManagerUtil
{
/**查询ID,都是以rowid为准**/
public static final String SEARCH_ROWID = "rowid";
/**查询条件,都是以rowid为准**/
public static final String SEARCH_WHERE = "searchWhere";
/**获取插入语句
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:13:06
* @param tableName 表名
* @param columnList 字段列表
* @param param 结果信息
* @return
*/
public static String getInsertSQL(String tableName, List<TableDataManagerDTO> columnList, Map<String, Object> param)
{
if (columnList == null || columnList.size() == 0)
{
return null;
}
StringBuffer sqlBuffer = new StringBuffer(50);
StringBuffer sqlBuffer1 = new StringBuffer(50);
StringBuffer sqlBuffer2 = new StringBuffer(50);
for (TableDataManagerDTO column : columnList)
{
// 如果是空信息不作修改
String value = EXStringUtil.stringNull2Str((String)param.get(column.getColumnName()));
if (value.length() == 0)
{
continue;
}
if (sqlBuffer1.length() > 0)
{
sqlBuffer1.append(",");
}
sqlBuffer1.append(column.getColumnName());
if (sqlBuffer2.length() > 0)
{
sqlBuffer2.append(",");
}
// 根据类型判断一下
if (column.getDataType().equals("NUMBER"))// 数字
{
sqlBuffer2.append("to_number(").append("'").append(value.replace(",", "")).append("')");
}
else if (column.getDataType().equals("DATE"))// 日期 必须都是 'yyyy-mm-dd hh24:mi:ss'
{
sqlBuffer2.append("to_date(").append("'").append(value).append("', 'yyyy-mm-dd hh24:mi:ss')");
}
else
{
sqlBuffer2.append("'").append(value).append("'");
}
}
sqlBuffer.append("insert into ").append(tableName).append("(").append(sqlBuffer1).append(") values(").append(sqlBuffer2).append(")");
return sqlBuffer.toString();
}
/**获取修改语句
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:13:06
* @param tableName 表名
* @param columnList 字段列表
* @param param 结果信息
* @return
*/
public static String getUpdateSQL(String tableName, List<TableDataManagerDTO> columnList, Map<String, Object> param)
{
if (columnList == null || columnList.size() == 0)
{
return null;
}
StringBuffer sqlBuffer = new StringBuffer(50);
StringBuffer sqlBuffer1 = new StringBuffer(50);
for (TableDataManagerDTO column : columnList)
{
// 如果是空信息不作修改
String value = EXStringUtil.stringNull2Str((String)param.get(column.getColumnName()));
if (value.length() == 0)
{
continue;
}
if (sqlBuffer1.length() > 0)
{
sqlBuffer1.append(",");
}
sqlBuffer1.append(column.getColumnName()).append(" = ");
if (column.getDataType().equals("NUMBER"))// 数字
{
sqlBuffer1.append("to_number(").append("'").append(value.replace(",", "")).append("')");
}
else if (column.getDataType().equals("DATE"))// 日期 必须都是 'yyyy-mm-dd hh24:mi:ss'
{
sqlBuffer1.append("to_date(").append("'").append(value).append("', 'yyyy-mm-dd hh24:mi:ss')");
}
else
{
sqlBuffer1.append("'").append(value).append("'");
}
}
sqlBuffer.append("update ").append(tableName).append(" set ").append(sqlBuffer1).append(" where ").append(TableDataManagerUtil.SEARCH_ROWID).append(" = '").append(param.get(TableDataManagerUtil.SEARCH_ROWID)).append("'");;
return sqlBuffer.toString();
}
/**获取删除语句
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:13:06
* @param tableName 表名
* @param rowid 指定列ID
* @return
*/
public static String getDeleteSQL(String tableName, String rowid)
{
if (StringUtil.isEmpty(rowid))
{
return null;
}
StringBuffer sqlBuffer = new StringBuffer(50);
sqlBuffer.append("delete from ").append(tableName).append(" where ").append(TableDataManagerUtil.SEARCH_ROWID).append(" = '").append(rowid).append("'");;
return sqlBuffer.toString();
}
/**获取查询语句_根据ID
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:36:53
* @param tableName 表名
* @param columnList 字段列表
* @param rowid 指定列ID
* @return
*/
public static String getSelectSQL(String tableName, List<TableDataManagerDTO> columnList, String rowid)
{
Map<String, String> param = new HashMap<String, String>();
param.put(TableDataManagerUtil.SEARCH_ROWID, rowid);
return getSelectSQL(tableName, columnList, param);
}
/**获取查询语句_根据条件
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:36:53
* @param tableName 表名
* @param columnList 字段列表
* @param rowid 指定列ID
* @return
*/
public static String getSelectSQL(String tableName, List<TableDataManagerDTO> columnList, Map<String, String> param)
{
if (columnList == null || columnList.size() == 0)
{
return null;
}
StringBuffer sqlBuffer = new StringBuffer(50);
StringBuffer sqlBuffer1 = new StringBuffer(50);
for (TableDataManagerDTO column : columnList)
{
if (sqlBuffer1.length() > 0)
{
sqlBuffer1.append(",");
}
sqlBuffer1.append(column.getColumnName());
}
sqlBuffer1.append(",").append(TableDataManagerUtil.SEARCH_ROWID).append("||'' as RID");
sqlBuffer.append("select ").append(sqlBuffer1).append(" from ").append(tableName) ;
if (param != null && param.size() > 0)
{
String searchWhere = param.get(TableDataManagerUtil.SEARCH_WHERE);
String rowid = param.get(TableDataManagerUtil.SEARCH_ROWID);
if (!StringUtil.isEmpty(rowid))
{
sqlBuffer.append(" where ").append(TableDataManagerUtil.SEARCH_ROWID).append(" = '").append(rowid).append("'");
}
else if (!StringUtil.isEmpty(searchWhere))
{
sqlBuffer.append(" where ").append(searchWhere);
}
}
return sqlBuffer.toString();
}
/**获取表字段信息
*
* @author : 路人甲
* @create_date :2013-5-6 上午10:51:33
* @param tableName
* @return
* @throws PafaWebException
*/
@SuppressWarnings("unchecked")
public static List<TableDataManagerDTO> getColunmListByTableName(String tableName) throws PafaWebException
{
Map<String,Object> paraMap = new HashMap<String, Object>(); // 参数Map
if (StringUtil.isEmpty(tableName))
{
throw new PafaWebException("查询表结构异常,没有选择表名!");
}
paraMap.put("i_table_name", tableName);
List<TableDataManagerDTO> columnList = CURDUtil.queryList("tableDataManagerResultList", paraMap); // 获取表结构
return columnList;
}
}
3、控制类:
展示页:
View Code
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map model = new HashMap();
String tableName = request.getParameter("tableName");
String searchWhere = request.getParameter("searchWhere");
try {
Map<String, String> paramWhere = new HashMap<String, String>();
paramWhere.put(TableDataManagerUtil.SEARCH_WHERE, searchWhere); // 查询where 后的语句
List<TableDataManagerDTO> tableDataManagerDTOs = TableDataManagerUtil.getColunmListByTableName(tableName);
String sql = TableDataManagerUtil.getSelectSQL(tableName, tableDataManagerDTOs, paramWhere);
Map<String,Object> paraMap = new HashMap<String, Object>(); // 结果信息
paraMap.put("sql", sql);
List resultList = CURDUtil.queryList("tableDataManager_list", paraMap);
model.put("resultList", resultList);
model.put("tableDataManagerDTOs", tableDataManagerDTOs);
model.put("tableName", tableName);
return new ModelAndView(successView, model);
} catch (PafaWebException e){
traceLogger.log(this.getClass().getName(), Level.COMMON_ERROR, this
.getClass().getName(), "参数:tableName=" + tableName + "系统管理_系统参数设置_表数据维护_查询,发生错误:", JobUtils.getExceptionDetail(e));
return ExceptionUtils.returnForAjaxErrorView(new PafaWebException("系统管理_系统参数设置_表数据维护_查询,出现异常:" + JobUtils.getExceptionDetail(e)));
}
}
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map model = new HashMap();
String pageType = request.getParameter("pageType");
try {
String tableName = request.getParameter("tableName");
List<TableDataManagerDTO> tableDataManagerDTOs = TableDataManagerUtil.getColunmListByTableName(tableName);
// 获取公共类型信息
CommonInfoDTO commonInfoDTO = BaseCommonCache.getInstanceNew().getCommonInfoDTO(BaseCommonConstants.COMMON_TYPE_29, tableName);
model.put("tableDataManagerDTOs", tableDataManagerDTOs);
model.put("pageType", pageType);
model.put("commonInfoDTO", commonInfoDTO);
if ("insert".equals(pageType)) // 新增
{
// 生成序列ID
}
else if ("update".equals(pageType)) // 修改
{
String rowid = request.getParameter("rowid");
String sql = TableDataManagerUtil.getSelectSQL(tableName, tableDataManagerDTOs, rowid);
if (StringUtil.isEmpty(sql))
{
throw new PafaWebException("查询类型参数异常,没有获取到查询表 "+tableName+" 的语句!");
}
Map<String,Object> paraMap = new HashMap<String, Object>(); // 结果信息
paraMap.put("sql", sql);
model.put("resultObj", CURDUtil.queryObject("tableDataManager_list", paraMap));
}
else
{
throw new PafaWebException("查询类型参数异常,不存在类型为["+pageType+"]的操作!");
}
return new ModelAndView(successView, model);
} catch (PafaWebException e) {
traceLogger.log(this.getClass().getName(), Level.COMMON_ERROR, this
.getClass().getName(), "参数:" + pageType+",发生错误:"+ e, "");
return ExceptionUtils.returnForAjaxErrorView(new PafaWebException("转向表修改,出现异常:"+e.getMessage()));
}
}
操作页:
View Code
package com.pingan.saims.scms.systemmanage.web.controller.tableDataManager;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.paic.pafa.app.lwc.core.context.support.PafaCoreContexton;
import com.paic.pafa.app.web.exception.PafaWebException;
import com.paic.pafa.app.web.servlet.ModelAndView;
import com.paic.pafa.app.web.servlet.mvc.AbstractController;
import com.paic.pafa.logging2.Level;
import com.paic.pafa.logging2.Logger;
import com.pingan.saims.scms.systemmanage.dto.TableDataManagerDTO;
import com.pingan.saims.scms.systemmanage.util.TableDataManagerUtil;
import com.pingan.tsv2.tcms.common.util.CURDUtil;
import com.pingan.tsv2.tcms.common.util.ExceptionUtils;
import com.pingan.tsv2.tcms.common.util.ViewNames;
/**系统管理_系统参数设置_表数据维护_保存
*
* @author : 路人甲
* @create_date :2013-5-3 下午04:53:23
*
*/
@SuppressWarnings("unchecked")
public class TableDataManagerSaveController extends AbstractController{
// 日志
private Logger traceLogger = PafaCoreContexton.getInstance().getTracer();
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
// 获取当前登陆用户信息
HttpSession session = request.getSession();
Map loginInfo = (Map) session.getAttribute("logonInfo");
Map model = new HashMap();
String pageType = request.getParameter("pageType");
try {
String tableName = request.getParameter("tableName");
List<TableDataManagerDTO> columnList = TableDataManagerUtil.getColunmListByTableName(tableName);
Map<String,Object> requestMap = new HashMap<String, Object>(); // 页面获取的Map
String sql = "";
model.put("tableDataManagerDTO", columnList);
// 获取页面传输过来的参数
for (TableDataManagerDTO column : columnList)
{
requestMap.put(column.getColumnName(), request.getParameter(column.getColumnName()));
}
if ("insert".equals(pageType)) // 新增
{
sql = TableDataManagerUtil.getInsertSQL(tableName, columnList, requestMap);
}
else if ("update".equals(pageType)) // 修改
{
requestMap.put(TableDataManagerUtil.SEARCH_ROWID, request.getParameter(TableDataManagerUtil.SEARCH_ROWID));
sql = TableDataManagerUtil.getUpdateSQL(tableName, columnList, requestMap);
}
else if ("delete".equals(pageType)) // 删除
{
String rowid = request.getParameter(TableDataManagerUtil.SEARCH_ROWID);
sql = TableDataManagerUtil.getDeleteSQL(tableName, rowid);
}
else
{
throw new PafaWebException("查询类型参数异常,不存在类型为["+pageType+"]的操作!");
}
Map<String,Object> paraMap = new HashMap<String, Object>(); // 参数信息
paraMap.put("sql", sql);
CURDUtil.insert("tableDataManager_save", paraMap, loginInfo); // 执行SQL语句
return new ModelAndView(ViewNames.AJAX_SUCCESS_VIEW, model);
} catch (PafaWebException e) {
traceLogger.log(this.getClass().getName(), Level.COMMON_ERROR, this.getClass().getName(), "参数:" + pageType+",发生错误:"+ e, "");
return ExceptionUtils.returnForAjaxErrorView(new PafaWebException("系统管理_系统参数设置_表数据维护_保存,出现异常:"+e.getMessage()));
}
}
}
4、SQL-MAP配置:
View Code
<!-- 表数据维护 结果集 class="java.util.HashMap"-->
<resultMap id="tableDataManagerResultMap" class="com.pingan.saims.scms.systemmanage.dto.TableDataManagerDTO">
<result property="tableName" column="tableName"/>
<result property="columnName" column="columnName"/>
<result property="dataType" column="dataType"/>
<result property="dataLength" column="dataLength"/>
<result property="comments" column="comments"/>
</resultMap>
<!-- 表数据维护 参数 -->
<parameterMap id="tableDataManagerParamMap" class="java.util.Map">
<parameter property="i_table_name" javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" />
<parameter property="o_cursor" javaType="java.sql.ResultSet" jdbcType="ORACLECURSOR" mode="OUT" />
</parameterMap>
<!-- 表数据维护查询 调用存储过程 -->
<procedure id="tableDataManagerResultList" resultMap="tableDataManagerResultMap" parameterMap="tableDataManagerParamMap">
{call scms_statistics_packge.p_list_table_column(?,?)}
</procedure>
<!-- 修改 -->
<update id="tableDataManager_save" parameterClass="java.util.Map">
$sql$
</update>
<!-- 查询 -->
<select id="tableDataManager_list" resultClass="java.util.HashMap" remapResults="true" parameterClass="java.util.HashMap">
$sql$
</select>
5、列表页面展示:
View Code
<script language="javascript">
//动态刷新
function refreshForm(){
$("refreshForm").submit();
}
var detail=null;
function showWindow(url, pageType){
var iWidth=820;
var iHeight=600;
//获得窗口的垂直、水平位置
var iTop = (window.screen.availHeight-30-iHeight)/2;
var iLeft = (window.screen.availWidth-10-iWidth)/2;
if(detail&&detail.open&&!detail.closed) {
alert("新增窗口已打开!请先关闭后再打开!");
detail.focus();
return false;
}
else{
detail=window.open("about:blank","_timeDeposit_win",'status,scrollbars,resizable,left='+iLeft+',top='+iTop+',width='+iWidth+',height='+iHeight);
}
popupForm.action = url;
popupForm.target = "_timeDeposit_win";
popupForm.pageType.value = pageType;
popupForm.submit();
detail.focus();
}
// 修改
function updateBtn()
{
var rowid = $("rowid").value;
if(rowid == "")
{
alert("请选择要修改的信息!");
return false;
}
var url = "/tableDataManagerSaveToController.do?rowid="+rowid;
showWindow(url, "update");
}
// 删除
function deleteBtn()
{
var rowid = $("rowid").value;
if(rowid == "")
{
alert("请选择要删除的信息!");
return false;
}
if (confirm("您确定删除这条信息吗?"))
{
var url = "/tableDataManagerSaveController.do?pageType=delete&tableName=<c:out value='${tableName }' />&rowid="+rowid;
Ajax.loading(url,function(data){
alert("删除成功!");
refreshForm();
},false);
}
}
// 选中ID
function selectedId(rowid)
{
// 设置要操作的信息值
$("rowid").value=rowid;
}
</script>
<body bgcolor="#EBEEF7" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form name="refreshForm" method="post" action="/tableDataManagerListController.do">
<input type="hidden" name="tableName" value="<c:out value='${tableName }' />"/>
<input type="hidden" name="searchWhere" value="<c:out value='${searchWhere }' />"/>
</form>
<form action="" name="popupForm" id="popupForm" method="post">
<input type="hidden" name="tableName" value="<c:out value='${tableName }' />"/>
<input type="hidden" name="pageType" value=""/>
</form>
<form name="inputForm" id="inputForm" >
<input type="hidden" name="rowid" id="rowid" value=""/>
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="inputTable" class="table_1" STRIPED="false" SELECTABLE="true">
<tr align="center" class="FixedTitleRow">
<!-- 头 -->
<td nowrap height="25%" class="td_1">选择</td>
<c:forEach var="tableDataManagerDTO" items="${tableDataManagerDTOs}" varStatus="j">
<td nowrap height="25%" class="td_1"><c:out value="${tableDataManagerDTO.columnName }"/><br />(<c:out value="${tableDataManagerDTO.comments }"/>)</td>
</c:forEach>
</tr>
<tbody class="datatab" dtolist="abclist">
<c:if test="${empty resultList}">
<tr align="center">
<td nowrap class="td_3" colspan="20">没有与查询条件相匹配的数据!</td>
</tr>
</c:if>
<c:forEach var="conferMsg" items="${resultList}" varStatus="i" >
<tr align="center" >
<td nowrap class="td_3">
<input type="radio" name="id" value="<c:out value="${conferMsg['RID'] }" />" onclick="selectedId('<c:out value="${conferMsg['RID'] }" />');"/>
</td>
<c:forEach var="tableDataManagerDTO" items="${tableDataManagerDTOs}" varStatus="j">
<td nowrap class="td_3">
<c:choose>
<c:when test="${tableDataManagerDTO.dataType eq 'DATE' }"><fmt:formatDate pattern="yyyy-MM-dd" value="${conferMsg[tableDataManagerDTO.columnName] }"/></c:when>
<c:when test="${tableDataManagerDTO.dataType eq 'NUMBER' }"><fmt:formatNumber pattern="#,##0.00" value="${conferMsg[tableDataManagerDTO.columnName] }"/></c:when>
<c:otherwise><c:out value="${conferMsg[tableDataManagerDTO.columnName] }" /></c:otherwise>
</c:choose>
</td>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
</form>
<table width="100%">
<tr><td> </td></tr>
<tr>
<td align="center">
<input type="button" name="insertBtn" id="insertBtn" class="button23" onclick="updateBtn();" value="修改" />
<input type="button" name="insertBtn" id="insertBtn" class="button23" onclick="deleteBtn();" value="删除" />
</td>
</tr>
</table>
</body>
添加修改页:
View Code
<jsp:useBean id="dateNow" class="java.util.Date" />
<script language="javascript">
//初始Form
var init = function() {
new FormCheck("inputForm",{validateChange:false,allowReSubmit:true,ajax:true,beforeSubmit:beforeSubmit,onAjaxSuccess:gotoPage,ajaxError:gotoFail});
}
window.addEvent('domready', init);
//返回提交结果,刷新父页面
function gotoPage() {
alert("保存成功!");
window.close();
opener.refreshForm();
}
function beforeSubmit() {
$("save").disabled=true;
}
function gotoFail() {
$("save").disabled=false;
}
</script>
<body bgcolor="#EBEEF7" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td nowrap height="30" class="address"> ·当前位置:系统管理>>系统参数设置>>表数据维护>>
<c:if test="${pageType eq 'update' }">修改</c:if>
</td>
</tr>
</table>
<!-- 用款释放信息 -->
<form name="inputForm" method="post" action="/tableDataManagerSaveController.do">
<input type="hidden" name="pageType" value="<c:out value="${pageType }"/>">
<input type="hidden" name="rowid" value="<c:out value="${resultObj['RID'] }"/>">
<input type="hidden" name="tableName" id="tableName" value="<c:out value="${commonInfoDTO.commonValue }" />"/>
<table width="98%" border="0" cellpadding="0" cellspacing="0" id="listTable" class="table_1" >
<tr align="center">
<td class="td_1_1">数据表名:<br />
(在公共类型中修改配置,类型type=29)</td>
<td align="left" class="td_3_3" colspan="3">
<c:out value="${commonInfoDTO.commonValue }" />(<c:out value="${commonInfoDTO.commonName }" />)
</td>
</tr>
<tr align="center">
<c:forEach var="tableDataManagerDTO" items="${tableDataManagerDTOs }" varStatus="i">
<c:if test="${i.index > 0 and i.index%2==0 }">
</tr>
<tr align="center">
</c:if>
<td class="td_1_1"><c:out value="${i.index+1 }" />、<c:out value='${tableDataManagerDTO.columnName }' /><br />(<c:out value='${tableDataManagerDTO.comments }' />)</td>
<td align="left" class="td_3_3">
<c:choose>
<c:when test="${tableDataManagerDTO.columnName eq 'CREATED_BY'
or tableDataManagerDTO.columnName eq 'UPDATED_BY' }">
<!-- 特殊处理(创建人、修改人) -->
<c:choose>
<c:when test="${empty resultObj }">
<input type="text" style="height:20px;"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input1"
value="<c:out value='${userInfo.userUID }' />" />
</c:when>
<c:when test="${!empty resultObj and tableDataManagerDTO.columnName eq 'CREATED_BY'}">
<input type="text" style="height:20px;"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input1"
value="<c:out value='${resultObj[tableDataManagerDTO.columnName]}' />" />
</c:when>
<c:otherwise>
<input type="text" style="height:20px;"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input1"
value="<c:out value='${userInfo.userUID }' />" />
</c:otherwise>
</c:choose>
</c:when>
<c:when test="${tableDataManagerDTO.columnName eq 'DATE_CREATED'
or tableDataManagerDTO.columnName eq 'DATE_UPDATED' }">
<!-- 特殊处理(创建时间、修改时间) -->
<c:choose>
<c:when test="${empty resultObj }">
<input type="text" style="height:20px;" size="20"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input2"
value="<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${dateNow }"/>" />
</c:when>
<c:when test="${!empty resultObj and tableDataManagerDTO.columnName eq 'DATE_CREATED'}">
<input type="text" style="height:20px;" size="20"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input2"
value="<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${resultObj[tableDataManagerDTO.columnName]}"/>" />
</c:when>
<c:otherwise>
<input type="text" style="height:20px;" size="20"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input2 "
value="<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${dateNow }"/>" />
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${tableDataManagerDTO.dataType eq 'NUMBER' }">
<!-- 数字 -->
<input type="text" style="height:20px;"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
maxlength="<c:out value='${tableDataManagerDTO.dataLength}' />"
class="validate['number[<c:out value='${tableDataManagerDTO.dataLength}' />]'] input1"
value="<c:out value='${resultObj[tableDataManagerDTO.columnName]}' />" />
</c:when>
<c:when test="${tableDataManagerDTO.dataType eq 'DATE' }">
<!-- 日期 -->
<input type="text" style="height:20px;" size="20"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
class="input2"
value="<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${resultObj[tableDataManagerDTO.columnName] }"/>" />
</c:when>
<c:otherwise>
<c:choose>
<c:when test="${tableDataManagerDTO.dataLength > 40}">
<textarea cols="30" rows="2"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"><c:out value='${resultObj[tableDataManagerDTO.columnName]}' /></textarea>
</c:when>
<c:when test="${tableDataManagerDTO.dataLength < 5}">
<input type="text" style="height:20px;" size="5"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
maxlength="<c:out value='${tableDataManagerDTO.dataLength}' />"
class="input1"
value="<c:out value='${resultObj[tableDataManagerDTO.columnName]}' />" />
</c:when>
<c:otherwise>
<input type="text" style="height:20px;" size="<c:out value='${tableDataManagerDTO.dataLength}' />"
name="<c:out value='${tableDataManagerDTO.columnName }' />"
id="<c:out value='${tableDataManagerDTO.columnName }' />"
maxlength="<c:out value='${tableDataManagerDTO.dataLength}' />"
class="input1"
value="<c:out value='${resultObj[tableDataManagerDTO.columnName]}' />" />
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</td>
</c:forEach>
</tr>
</table>
<br>
<table width="100%">
<tr align="center">
<td align="center" colspan="2">
<input type='button' class="button4 validate['submit']" name='save' id='save' value="提交" />
<input type="button" name="btnClose" value="关闭" onClick="javascript:window.close();" class="button23" />
</td>
</tr>
</table>
</form>
</body>