레이블이 WEB인 게시물을 표시합니다. 모든 게시물 표시
레이블이 WEB인 게시물을 표시합니다. 모든 게시물 표시

2010년 9월 17일 금요일

[Javascript] 파일 upload 전 확장자 / 이미지 크기 체크


  <input type="file" name="fileName" onChange="uploadImg_Change( this, 480,320 )" alt="480*320" >



function fileClear(obj){
obj.select();
document.selection.clear();
obj.blur();
}
function getFileExtension( filePath )
{
    var lastIndex = -1;
    lastIndex = filePath.lastIndexOf('.');
    var extension = "";

if ( lastIndex != -1 )
{
extension = filePath.substring( lastIndex+1, filePath.len );
} else {
extension = "";
}
    return extension;
}

//파일을 선택 후 포커스 이동시 호출
function uploadImg_Change( obj, iwidth, iheight )
{
var value = obj.value;
maxImageHeight=iheight;
maxImageWidth=iwidth;
    var src = getFileExtension(value);
    if (src == "") {
//        alert('올바른 파일을 입력하세요');
fileClear(obj);
        return;
    } else if ( !((src.toLowerCase() == "gif") || (src.toLowerCase() == "jpg") || (src.toLowerCase() == "jpeg")) ) {
        alert('gif 와 jpg 파일만 지원합니다.');
fileClear(obj);
        return;
    }

    LoadImg( obj);

}
function LoadImg(obj)
{
var value = obj.value;
    var imgInfo = new Image();
//    imgInfo.onload = img_Load;
    imgInfo.src = value;
var imgWidth = imgInfo.width;
var imgHeight = imgInfo.height;
if(imgWidth != maxImageWidth || imgHeight != maxImageHeight){
alert(maxImageWidth+"*"+maxImageHeight+"파일만 지원합니다");
fileClear(obj);
return false;
}
}

[Javascript] input type=file 값 초기화

<input type=file name=aaa>

function fileClear(obj){
obj.select();
document.selection.clear();
obj.blur();
}

2010년 9월 15일 수요일

2010년 3월 29일 월요일

Http Post 방식으로 header 설정 및 xml 데이터 전송

http post 방식으로 header를 설정한 후 xml 데이터를 서버에 전달 후

그 결과를 받는다.

첨부된 파일을 압축을 풀면 lib 디렉토리 안의 jar 파일들을

%CATALINA_HOME%\common\lib 에 위치시키거나

CALSSPASS를 잡아준 후 이용하면 된다.


<%@ page import="org.apache.commons.httpclient.HttpClient" %>
<%@ page import="org.apache.commons.httpclient.methods.PostMethod" %>
<%@ page import ="java.net.*" %>
<%@ page import ="java.io.*" %>

<%

    String orgMsg="abcdefg";
    String encMsg = null;
    String header1 = "header1";
    String header2 = "header2";
    String header3 = "header3";
    String ContentsType="text/xml";
    

    AES256 aes = new AES256();
    encMsg = aes.encrypt(msg);

      String xmldata = "<? xml version=\"1.0\" encoding=\"euc-kr\"?> "
                            +"<! DOCTYPE lgtpims:schema>"
                            +"<schema targetns=\"http://www.aaa.com\""
                    +"version=\"1.0\" xmlns=\"http://www.w3.org/2000/10/XMLSchema\">"
                        +"<parameter method=\"add\">"
                            +"<element-value name=\"addelement\">aaaaa</element-value>"
                            +"<element-value name=\"addelementtype\">bbbbb</element-value>"
                        +"</parameter>"
                    +"</schema>" ;

        String strURL = "http://www.aaa.com/aaa";
        PostMethod post = new PostMethod(strURL);
        post.setRequestHeader("Content-type", "text/xml; charset=ISO-8859-1");
        post.setRequestHeader("header1","header1");
        post.setRequestHeader("header2",header2);
        post.setRequestHeader("header3",header3");
        post.setRequestHeader("Content-Length",Integer.toString(xmldata.length()));
        post.setRequestBody(xmldata);

        HttpClient httpclient = new HttpClient();            

        try {
            int result = httpclient.executeMethod(post);
            // Display status code
            out.println("<br>Response status code: " + result);
            // Display response
             out.println("<br>Response header: "+post.getResponseHeader("Status-Line"));
            out.println("<br>Response body: ");
            out.println(post.getResponseBodyAsString());
        } finally {
            // Release current connection to the connection pool once you are done
            post.releaseConnection();
        }


%>

2010년 3월 18일 목요일

AJAX이용한 XML 데이터 전송 및 전송된 XML 데이터 받기

1.xmlPostClient.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
<script type="text/javascript">
    var xmlHttp;
    function createXMLHttpRequest(){
        if(window.ActiveXObject){
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }else if(window.XMLHttpRequest){
            xmlHttp=new XMLHttpRequest();
        }
    }
    function sendXML(){
        createXMLHttpRequest();

        var xml="<VCOUPON><TEL_NO>0101234567</TEL_NO><AMOUNT>1000</AMOUNT><RETURNCODE>00</RETURNCODE></VCOUPON>";
        var url="http://localhost:8080/test/httpPostServer.jsp";
        xmlHttp.open("POST",url,true);
        xmlHttp.onreadystatechange=handleStateChange;
        xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        xmlHttp.setRequestHeader("aaa","aaa");
        xmlHttp.setRequestHeader("bbb","bbb");
        xmlHttp.send(xml);
    }

    function handleStateChange(){
        if(xmlHttp.readyState==4){
            if(xmlHttp.status==200){
                parseResults();
            }
        }
    }

    function parseResults(){
        var responseDiv=document.getElementById("response");
        if(responseDiv.hasChildNodes()){
            responseDiv.removeChild(responseDiv.childNodex[0]);
        }
        var responseText = document.createTextNode(xmlHttp.responseText);
        responseDiv.appendChild(responseText);
    }
</script>
</head>
<body>
<input type="button" value="보내기" onClick="sendXML();"><br>
<div id="response">

</div>
</body>
</html>

2.xmlPostServer.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page import = "java.io.*" %>
<%@ page import = "javax.xml.parsers.DocumentBuilderFactory" %>
<%@ page import = "javax.xml.parsers.ParserConfigurationException" %>
<%@ page import = "org.w3c.dom.Document" %>
<%@ page import = "org.w3c.dom.NodeList" %>
<%@ page import = "org.xml.sax.SAXException" %>

<%!
    public String readXMLFromRequestBody(HttpServletRequest request){
        StringBuffer xml = new StringBuffer();
        String line = null;
        try{
            BufferedReader reader = request.getReader();
            while((line=reader.readLine())!=null){
                xml.append(line);
            }
        }catch(Exception e){
            System.out.println("Error reading XML:"+e.toString());
        }
        return xml.toString();
    }
%>
<%
    String xml=readXMLFromRequestBody(request);
    Document xmlDoc = null;
    try{
        xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
    }catch(ParserConfigurationException e){
        System.out.println("ParserConfigurationException : "+e);
    }catch(SAXException e){
        System.out.println("SAXException : "+e);
    }
    System.out.println("header aaa : "+request.getHeader("aaa"));
    System.out.println("header bbb : "+request.getHeader("bbb"));
    NodeList TEL_NO = xmlDoc.getElementsByTagName("TEL_NO");
    NodeList AMOUNT = xmlDoc.getElementsByTagName("AMOUNT");
    NodeList RETURNCODE = xmlDoc.getElementsByTagName("RETURNCODE");
    String telno = null;
    String amount = null;
    String returncode = null;
    String responseText = "request text : ";
    for(int i = 0; i < TEL_NO.getLength();i++){
        telno = TEL_NO.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"TEL_NO : "+telno;
    }
    for(int i = 0; i < AMOUNT.getLength();i++){
        amount = AMOUNT.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"AMOUNT : "+amount;
    }
    for(int i = 0; i < RETURNCODE.getLength();i++){
        returncode = RETURNCODE.item(i).getFirstChild().getNodeValue();
        responseText = responseText+"RETURNCODE : "+returncode;
    }   
   
    response.setContentType("text/xml");
    out.print(responseText);
%>

2010년 2월 23일 화요일

javascript 레이어 화면 따라다니기.

    function staticize(){
        var scontentmain = document.getElementById("divID");
        w2=document.documentElement.scrollLeft+150;
        scontentmain.style.left=w2;      //화면 가로로 따라다니기..
//        scontentmain.style.top=h2;   // 화면 세로로 따라다니기...
    }
    window.onscroll=staticize;

2010년 2월 3일 수요일

JSP 스트럿츠

[펌]원문 : http://sugame.tistory.com/273?srchid=BR1http%3A%2F%2Fsugame.tistory.com%2F273


<c:set var="${str}" scope="page">테스트</c:set>
<c:out value="하하하${str}" />


<%
member.setName("테스트");
member.setAge(30);
%>

<!-- 변수 선언 -->
<c:set var="str1" scope="page">는 학생입니다.</c:set>

<c:set var="str2" scope="page" value="는 회사원입니다." />


<!-- 출력문 -->
<c:out value="<b>${member.name}</b>${str1}" escapeXml="false" /><br>

<c:out value="${member.name}${str2}" /><br>


<!-- 빈 클래스에 값 넣기 -->
<c:set target="${member}" property="name">안닝하세요!!!</c:set>

<c:set target="${member}" property="name" value="hello!!" />

<c:out value="${member.name}" />

 


<c:set var="str1" value="${member.name}" />

<c:set target="${member}" property="name">오리!!</c:set>

<c:out value="${str1}" />

 

 

 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>

<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>

 <!-- dan 파라메터가 없을 경우 -->
<logic:notPresent parameter="dan">
  <b>오류!! dan 파라메터가 null입니다.</b>
</logic:notPresent>

<logic:present parameter="dan">
  <!-- dan 파라메터에 값이 없을 경우 -->
  <logic:equal parameter="dan" value="">
   <b>dan 파라메터에 출력할 구구단의 단(숫자)을 입력하세요</b>
  </logic:equal>

 
  <logic:notEqual parameter="dan" value="">
 
   <c:set var="dan" value="<%= request.getParameter("dan") %>" />
   <c:if test="${dan > 0 and dan <= 99}">
    <c:out value="${dan}"/> 단입니다. <br/>
   
    <table border=1>
    <c:forEach var="i" begin="1" end="9" step="1">
     <tr>
      <td><c:out value="${dan} * ${i} = ${dan*i}"/></td>
     </tr>
    </c:forEach>
    </table>
   </c:if>
   
   <!-- else if 문법이 없다. -->
   <c:if test="${not (dan > 0 and dan <= 99)}">
    <c:out value="1 ~ 99단까지만 출력 가능합니다."/>
   </c:if>
   
  </logic:notEqual> 

</logic:present>

</body>
</html>


 

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import = "java.util.Iterator" %>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c" %>

<jsp:useBean id="member" class="com.test.CMember">
<jsp:setProperty name="member" property="*" />
</jsp:useBean>

 

forEach를 이용해 리스트 꺼내오기

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>스트럿츠 태그 라이브러리 테스트1</title>
</head>
<body>
<table border="1">
<tr>
  <td>번호</td><td>이름</td><td>나이</td>
</tr>
<c:forEach var = "item" items = "${member.memberList}" varStatus = "num">
<tr>
  <td><c:out value="${num.count}"/></td>
  <td><c:out value="${item.name}"/></td>
  <td><c:out value="${item.age}"/></td>
</tr>
</c:forEach>
</table>

 
</body>
</html>




if문에 보면 새로운 val 옵션이 있으며 그곳에 식이 참인지 거짓인지 저장된다.
<c:set var="name">홍길동aa</c:set>

<c:if test="${name == '홍길동'}" var="result">
당신은 홍길동입니다.
</c:if>
<c:if test="${not result}">
당신은 홍길동이 아니고 <b>${name}</b> 이군요!!
</c:if>

 

switch문
<c:set var="age" value="25"/>

<c:choose>
<c:when test="${age < 10}">
  당신은 어린 아이군요!
</c:when>
<c:when test="${age < 20}">
    당신은 팔팔한 10대군요!
</c:when>
<c:when test="${age < 30}">
    당신은 건장한 20대군요!
</c:when>
<c:when test="${age < 40}">
    당신은 30대군요!!
</c:when>
<c:otherwise>
    당신은 40대 이상입니다.
</c:otherwise>
</c:choose>

 

-------------------------------------------------------------------------------- setTest1.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR" import="java.util.*"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- Map 종류가 아닐 경우 --%>
<c:set var="userLevel" scope="session">
Sheriff, Bartender, Cowgirl
</c:set>

<%-- Map 종류일 때 --%>
<%
Hashtable user = new Hashtable();
session.setAttribute("user", user);
%>
<c:set target="${user}" scope="session" property="Level" value="king"></c:set>

<jsp:forward page="setTest2.jsp"/>

-------------------------------------------------------------------------------- setTest2.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%-- Map 종류가 아닐 경우 --%>
<c:forEach var="content" items="${userLevel}">
userLevle : ${content} <br>
</c:forEach>

<%-- Map 종류일 때 --%>
Map에 세팅한  user Level : ${user.Level}