2010. 8. 6. 18:23 flex
[실 습1-6][memo] 시작 화면의 제작
[실 습1-6][memo] 시작 화면의 제작
[01] 시작 화면의 제작
- 1024 X 768: width: 900, height:500
- 1280 X 1024: width: 1000, height:700
- 등록된 글이 없을수도 있고 10건이 발생할 수도 있음.
- 데이터 그리드를 미리 만들어 두면 공간을 낭비하는 문제 발생함으로
데이터 그리드의 행을 레코드 수 만큼 ActionScript에서 생성하도록 할 것.
1. SQL
-- 메인 페이지 동적 레코드 출력
-- A01
SELECT memoflexno, grp, name, content, passwd, memodate
FROM memoFlex
WHERE grp = 'A01'
ORDER BY memoflexno DESC;
SELECT memoflexno, grp, name, content, passwd, memodate, rownum r
FROM (SELECT memoflexno, grp, name, content, passwd, memodate
FROM memoFlex
WHERE grp = 'A01'
ORDER BY memoflexno DESC
)
SELECT memoflexno, grp, name, content, passwd, memodate, r
FROM (SELECT memoflexno, grp, name, content, passwd, memodate, rownum r
FROM (SELECT memoflexno, grp, name, content, passwd, memodate
FROM memoFlex
WHERE grp = 'A01'
ORDER BY memoflexno DESC
)
)
WHERE r >= 1 AND r <= 6;
2. JSP
http://localhost:9090/www_flex/memofxjsp/listTop.jsp?cnt=6&grp=A01
>>>>> /www_flex/memofxjsp/listTop.jsp
<?xml version="1.0" encoding="utf-8"?>
<%@ page contentType="text/xml; charset=utf-8" %>
<%@ page import = "java.sql.*, www.utility.*" %>
<jsp:useBean id="dbconnect" class="www.utility.ConnectionMgr"/>
<%
// http://localhost:9090/www_flex/memofxjsp/listTop.jsp?cnt=6&grp=A01
// 브러우저의 캐시 영역에 저장하지 말것을 지정
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
%>
<%
int cnt = Integer.parseInt(request.getParameter("cnt"));
String grp = request.getParameter("grp");
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
StringBuffer sql = new StringBuffer();
out.println("<result_set>");
try {
con = dbconnect.getConnection();
// LIST
sql.append(" SELECT memoflexno, grp, name, content, passwd, memodate, r ");
sql.append(" FROM (SELECT memoflexno, grp, name, content, passwd, memodate, rownum r ");
sql.append(" FROM (SELECT memoflexno, grp, name, content, passwd, memodate ");
sql.append(" FROM memoFlex");
sql.append(" WHERE grp = 'A01'");
sql.append(" ORDER BY memoflexno DESC");
sql.append(" )");
sql.append(" )");
sql.append(" WHERE r >= 1 AND r <= " + cnt);
pstmt = con.prepareStatement(sql.toString());
rs = pstmt.executeQuery();
int proc_cnt = 0;
while (rs.next()) {
out.println("<record>");
out.println(" <memoflexno>" + rs.getString(1) + "</memoflexno>");
out.println(" <grp>" + rs.getString(2) + "</grp>");
out.println(" <name>" + rs.getString(3) + "</name>");
String content = rs.getString(4);
if (content.length() > 30){
content = content.substring(0, 30) + "...";
}
out.println(" <content>" + content + "</content>");
out.println(" <passwd>" + rs.getString(5) + "</passwd>");
out.println(" <memodate>" + (rs.getString(6)).substring(0, 10) + "</memodate>");
out.println("</record>");
proc_cnt++;
}
// 에러코드 --> 0: 정상, 1:에러
out.println("<result_meta>");
out.println(" <err_code>0</err_code>"); // 에러코드
out.println(" <proc_cnt>" + proc_cnt + "</proc_cnt>");// 처리건수
out.println(" <message/>"); // 메시지
out.println("</result_meta>");
} catch (Exception e) {
e.printStackTrace();
out.println("<result_meta>");
out.println(" <err_code>1</err_code>"); // 에러코드
out.println(" <proc_cnt>0</proc_cnt>"); // 처리건수
out.println(" <message>작업중 에러가 발생했습니다.</message>"); // 메시지
out.println("</result_meta>");
} finally {
DBClose.close(con, pstmt, rs);
out.println("</result_set>");
}
%>
3. Flex MXML
>>>>> A01.mxml
>>>>> A02.mxml
>>>>> A03.mxml
'flex' 카테고리의 다른 글
[02-D1] MDI 제어 (0) | 2010.08.06 |
---|---|
[01-D1] MDI(Multiple Document Interface) (0) | 2010.08.06 |
[실습1-5][memo] Flex ActionScript 제작 (0) | 2010.08.06 |
[실습1-4][memo] JSP Server Page(글 수정, 글 삭제) (0) | 2010.08.06 |
[실습1-3][memo] JSP Server Page(글 쓰기, 글 보기, 글 목록) (0) | 2010.08.06 |