📄 drawoption.java
字号:
/**
* @(#)DrawOption.java 2.0 2005/04/23
* <p>copyright: Copyright 东软 国际合作事业部版权所有</p>
* <p>company: neusoft</p>
* <p>time: 2005.04.23</p>
*/
package qujl;
import java.sql.SQLException;
import javax.servlet.jsp.jstl.sql.Result;
/**
* 绘画JSP页面中各个元素的类.drawSelect方法输出下拉列表 drawText方法输出一个文本框.
* drawCheckBox方法输出一个复选框.
* drawTd方法输出一个单元格.drawFormTable方法输出一个表单Table.
*
* @author 曲金龙 qujl@neusoft.com
* @version 2.0, 2005/04/26
*/
public class DrawOption {
/**
* 产生一个权限组名的select标签
*
* @param result 数据库查询结果集用来显示下拉列表项目
* @return drawStringBuffer 输出到jsp文件中的html文本块
* @throws SQLException
*/
public static StringBuffer drawSelect(Result result) throws SQLException {
/** 返回StringBuffer变量实例化 */
StringBuffer drawStringBuffer = new StringBuffer(1000);
/** 计算行数 */
int lineNum = result.getRowCount();
/** 绘制option标签 */
try {
for (int index = 0; index < lineNum; index++) {
drawStringBuffer.append("<option value=\"")
.append(result.getRowsByIndex()[index][0]
.toString())
.append("\">")
.append(result.getRowsByIndex()[index][1]
.toString())
.append("</option>");
}
/** 返回绘制结果 */
return drawStringBuffer;
} catch (Exception e) {
return null;
}
}
/**
* 产生一个html的文本框标签
*
* @param name 表单bean对应的属性名
* @param value 文本框初值
* @param isReadOnly 是否只读
* @return drawStringBuffer 输出到jsp文件中的html文本块
*/
public static StringBuffer drawText(String name, String value,
boolean isReadOnly) {
/** 返回StringBuffer变量实例化 */
StringBuffer drawStringBuffer = new StringBuffer(200);
/** 绘制文本框 */
drawStringBuffer.append("<input type=\"text\" ")
.append("name=\"" + name + "\" ")
.append("value=\"" + value + "\" ")
.append("style=\"width:100px\" ");
/** 判断文本框是否只读 */
if (isReadOnly) {
drawStringBuffer.append("readonly=\"readonly\" ");
}
/** 加入样式表 */
drawStringBuffer.append("class=\"textfield\">");
/** 返回绘制结果 */
return drawStringBuffer;
}
/**
* 产生一个html的CheckBox标签
*
* @param name 表单bean对应的属性名
* @param state CheckBox初始状态
* @param value CheckBox选中的值
* @return drawStringBuffer 输出到jsp文件中的html文本块
*/
public static StringBuffer drawCheckBox(String name, String state,
String value) {
/** 返回StringBuffer变量实例化 */
StringBuffer drawStringBuffer = new StringBuffer(200);
/** 绘制CheckBox */
drawStringBuffer.append("<input type=\"checkbox\" ")
.append("name=\"" + name + "\" ")
.append("value=\"" + value + "\" ");
/** 判断CheckBox状态 */
if (state.equals("Y")) {
drawStringBuffer.append("checked");
}
drawStringBuffer.append(">");
/** 返回绘制结果 */
return drawStringBuffer;
}
/**
* 产生表的一个单元格
*
* @param text 单元格内容
* @param isCenter 是否居中对齐
* @return drawStringBuffer 输出到jsp文件中的html文本块
*/
public static StringBuffer drawTd(StringBuffer text, boolean isCenter) {
/** 返回StringBuffer变量实例化 */
StringBuffer drawStringBuffer = new StringBuffer(200);
/** 绘制单元格 */
drawStringBuffer.append("<td");
/** 判断是否居中 */
if (isCenter) {
drawStringBuffer.append(" align=\"center\"");
}
drawStringBuffer.append(">").append(text).append("</div></td>");
/** 返回绘制结果 */
return drawStringBuffer;
}
/**
* 绘制一个表单Table,并能够实现分页显示
*
* @param result 数据库查询后的结果集
* @param pageRowNum 每页显示的行数
* @return drawStringBuffer 输出到jsp文件中的html文本块
*/
public static StringBuffer drawFormTable(Result result, int startRowNum,
int pageRowNum) {
/** 返回StringBuffer变量实例化 */
StringBuffer drawStringBuffer = new StringBuffer(2000);
/** 保存每页行数的临时变量 */
int row = pageRowNum;
/** 计算行数 */
int lineNum = result.getRowCount();
try {
/** 绘制每页表单元素 */
for (int index = startRowNum; row > 0 && index < lineNum; row--) {
drawStringBuffer.append("<tr>")
.append("<form name=\"commonGroupForm\" ")
.append("method=\"post\" action=\"/ciqms/jsp/")
.append("Admin/GroupAdmin/")
.append("modify/modGroupInfoDetail.do\">");
/** 绘制每个单元格 */
drawStringBuffer.append(
drawTd(drawText("groupNo",
result.getRowsByIndex()[index][0].toString(),
true), true)).append(
drawTd(drawText("groupName",
result.getRowsByIndex()[index][1].toString(),
false), true)).append(
drawTd(drawCheckBox("privilege", result
.getRowsByIndex()[index][2].toString(),
"select"), true)).append(
drawTd(drawCheckBox("privilege", result
.getRowsByIndex()[index][3].toString(), "add"),
true)).append(
drawTd(drawCheckBox("privilege", result
.getRowsByIndex()[index][4].toString(),
"delete"), true)).append(
drawTd(drawCheckBox("privilege", result
.getRowsByIndex()[index][5].toString(),
"update"), true));
/** 绘制操作:删除和修改 */
StringBuffer link = new StringBuffer();
link.append("<a href=\"/ciqms/jsp/Admin/GroupAdmin")
.append("/delete/deleteGroup.do?groupNo=")
.append(result.getRowsByIndex()[index][0].toString())
.append("\" onclick=\"return confirmDelete()\"")
.append(" class=\"font\">删除</a><input type=\"submit\"")
.append("onclick=\"return confirmModify()\"")
.append(" class=\"botton\" value=\"修改\">");
drawStringBuffer.append(drawTd(link, true))
.append("</form></tr>");
/** 游标指向下一行数据 */
index++;
}
drawStringBuffer.append("<tr><td colspan=\"7\">")
.append("<div align=\"center\">")
.append("| ");
/** 分页显示计算页数 */
for (int j = 0; j < lineNum; j++) {
if (j % pageRowNum == 0) {
drawStringBuffer.append("<a href=\"/ciqms/jsp/Admin/")
.append("GroupAdmin/index/protected.do?")
.append("rowNum=" + j)
.append("\" class=\"font\">" + (j / 5 + 1))
.append("</a> | ");
}
}
drawStringBuffer.append("<a href=\"/ciqms/jsp/baseInfoAdmin.do\"")
.append(" class=\"font\">返回</a>")
.append("</div></td></tr>");
/** 返回绘制结果 */
return drawStringBuffer;
} catch (Exception e) {
return null;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -