게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.
**필수입력사항**
* 고객(업체)명 : 한전산업개발
* 제품 버전 : 4.0
* 문의 유형(질문/요청/참조) :
* 내용 :
CLOB 타입 데이터를 저장하여
저장한 값을 select 하여 먼저 textarea에 가져온 뒤, 가우스가 아닌 다른 컴포넌트 화면에 보여주는 작업을 하고 있는데요.
textarea.src = 데이터셋.namevalue (URL 컬럼) 를 설정하면
URL 컬럼에 지정된 주소의 java 서블릿에서 값을 찍었을 때는 CLOB 데이터의 값이 정상적으로 출력됩니다.
이 데이터를 view인 자바스크립트 내의 textarea에서 보여지게 하려면
textarea.src = 데이터셋.namevalue (URL 컬럼) 외 다른 설정을 해야 하나요?
************************ 추가 *************************************
예제를 보니 URL 데이터는 바인딩 하지 않고,
Q&A에서 질답을 찾아보니 URL 데이터를 바인딩 하는 경우도 있군요.
URL 데이터를 textarea의 src에 바인딩을 시켜줘야 하는지도 궁금합니다.
tbtx_NoteText.src = tb_DataSet.namevalue(서블릿주소); 를 했을 때 데이터를 가져오지 못하고 있습니다.
아래는 서블릿 주소에 작성되어 있는 java 소스입니다.
import com.gauce.*;
import com.gauce.http.GauceConnection;
import com.gauce.io.*;
import com.gauce.common.*;
import com.gauce.log.*;
import com.gauce.db.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.io.*;
import java.util.*;
import java.net.*;
// class 이름은 화일명과 항상 동일해야 함.
public class potal_list_s04_2 extends HttpServlet {
// 웹페이지의 폼의 전송방식이 Post 타입일 경우
public void doGet(HttpServletRequest req, HttpServletResponse res) {
GauceDBConnection conn = null;
GauceService service = null;
com.gauce.ServiceLoader loader = new com.gauce.ServiceLoader(req, res);
try {
service = loader.newService();
try {
conn = service.getDBConnection();
GauceStatement gstmt;
ResultSet rs;
// 웹페이지에서 조건값을 넘겨받음
String str1 = req.getParameter("v_str1");
String str2 = req.getParameter("v_str2");
String str3 = req.getParameter("v_str3");
String str4 = req.getParameter("v_str4");
if (str1 == null) str1 = "";
if (str2 == null) str2 = "";
if (str3 == null) str3 = "";
if (str4 == null) str4 = "";
StringBuffer sql2 = new StringBuffer();
sql2.append( " SELECT BCONTENTS FROM COMMON.BIZMEKADTL \n" )
.append( " WHERE UPMENUID = '"+str4+"' \n" )
.append( " AND BIZID = '"+str1+"' \n" )
.append( " AND BYEAR = '"+str2+"' \n" )
.append( " AND BSEQ = "+str3+" \n" );
gstmt = conn.getGauceStatement(sql2.toString());
rs = gstmt.executeQuery();
StringBuffer sb = new StringBuffer();
if(rs.next()) {
Reader reader = rs.getCharacterStream(1);
char[] buffer = new char[1024];
int ch;
while ((ch = reader.read(buffer, 0, 1024)) != -1) {
sb.append(buffer, 0, ch);
}
}
rs.close();
gstmt.close();
} catch(Exception e) {
} finally {
if (conn != null) try {conn.close(true);} catch (Exception e) {}
}
conn.close();
} catch (Exception e) {
} finally {
loader.restoreService(service);
}
} //public void
} //public class
StringBuffer sb에 컬럼 BCONTENTS를 담아 가져오는 방식인데
이 데이터를 javascript 에서 불러오지 못하고 있습니다.
위 소스에서 sb를 출력하면 Select는 정상적으로 되고 있습니다.
|
답변이 늦어져 죄송합니다.
textarea의 src는 데이터를 가져오는 역할만 수행하며 일반 HTML tag와의 바인딩은 지원되지 않습니다.
HTML TAG와 바인딩을하기 위해서는 dataset을 생성한 후 bind 컴포넌트를 사용하여 처리하셔야 합니다.
간단하게 읽기용으로만 사용한다면 text 속성으로 값을 꺼낸 후 inputbox 또는 textarea의 value로 셋팅하면 됩니다.
ex)tbtx_NoteText.src = tb_DataSet.namevalue(...);
txt.value = tbtx_NoteText.text;
감사합니다.