$.ajax({

type: "GET",

url: url,

success:function(data){

var obj = JSON.parse(data);

for(var i=0; n=obj.List.Names.length; i<n; i++){

if(obj.List.Names[i] == "undefined"){

setName("기본 네임");

}else{

setName(obj.List.Names[i].value);

}

}

});


-------

cannot read property 'value' of undefined..... 발생.....


해결책 - typeof 를 사용하라


$.ajax({

type: "GET",

url: url,

success:function(data){

var obj = JSON.parse(data);

for(var i=0; n=obj.List.Names.length; i<n; i++){

if(typeof obj.List.Names[i] == "undefined"){

setName("기본 네임");

}else{

setName(obj.List.Names[i].value);

}

}

});

Posted by 스트라
,

페이스북

// 페이스북 스크립트

window.fbAsyncInit = function(){

//페이스북 앱 아이디 생성

FB.init({

appId  : 'your app id',


status : true, // check login status

cookie : true, // enable cookies to allow the server to access the session

xfbml  : true,  // parse XFBML

oauth  : true

});


FB.ui({

method: 'feed',

name: caption,

description: description,

//caption: '',

link: document.location.href,

picture: picture,  

user_message_prompt: ''

}, function(response){ // 공유 결과 리턴

if(response === null || response == undefined) { // 공유 안함

}else{ // 공유 함

alert('페북 공유 완료');

}

});

});

};

// 페이스북 스크립트

(function (d, s, id) {

   var js, fjs = d.getElementsByTagName(s)[0];

   if (d.getElementById(id)) return;

   js = d.createElement(s); js.id = id;

   js.async = true;

   js.src = "//connect.facebook.net/ko_KR/all.js#xfbml=1";

   fjs.parentNode.insertBefore(js, fjs);

}(document, 'script', 'facebook-jssdk'));




트위터



// 트위터 스크립트

$.getScript("http://platform.twitter.com/widgets.js", function(){

function handleTweetEvent(event){ // 트윗했을 시 호출되는 함수

if (event) {

alert('트윗 완료');

}

}

twttr.events.bind('tweet', handleTweetEvent); // 트윗했을 시 이벤트 바인딩

});



-> 트위터 버튼

<a href="" id="tweet" data-count="horizontal" data-url="" target="_blank">

<img src="/images/user/promotion/btn_twitter.png" style="display:none;" alt="트위터 공유" />

</a>


<script>

var link = document.location.href

var url = "https://twitter.com/intent/tweet?original_referer="+encodeURIComponent(link)+"&amp;text=" + encodeURIComponent(description) + encodeURIComponent(link);

$("#tweet").attr("href", url);

$("#tweet").attr("data-url", document.location.href);

$("#tweet")[0].click(); // 트윗 창 오픈

</script>

Posted by 스트라
,

How to remove IP in CBL spamhaus

If your ip listed in CBL black list. You can solve by this way:

Stage 1: Connect to mail server by ehlo commamd

telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
220 localhost.localdomain ESMTP Sendmail 8.13.8/8.13.8; Tue, 12 Jul 2011 15:27:02 +0700

ehlo localhost
250-localhost.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you

If ehlo command return “localhost.localdomain”, it’s invalid. ehlo command have to return in “test.example.com” or “[192.168.9.9]“.

Stage 2: check host name

First, you may want to exercise the various host name query tools to see if they’re right, in which case you need to go no further.

The following is a sequence of commands you should execute, and their expected results (subtituting mail.example.com etc with the values you want for your machine):

shell prompt>  uname -n
mail.example.com

shell prompt>  hostname -s
mail

shell prompt>  hostname -d
example.com

shell prompt>  hostname -f
mail.example.com

shell prompt>  hostname
mail.example.com

If the results you obtain from the above commands is what you’re expecting, you’re done with this page.

Seeing localhost or localhost.localdomain are clear signs of wrongness.

If the results are wrong, first you need to check/correct your /etc/hosts file, second, you have to ensure that the machine knows which /etc/hosts entry to consult during boot (depends on which O/S you’re using), and thirdly, reboot the machine.

CHECK/CORRECT /ETC/HOSTS

If you have a static IP (even if it’s a RFC1918 private IP address behind a NAT gateway), the /etc/hosts file should contain:

127.0.0.1     localhost.localdomain localhost
1.2.3.4       mail.example.com mail

Setting /etc/hosts for DHCP is beyond the scope of this document (why would you want to run a mail server on DHCP anyway?).

Note: many (most) problems people encounter is where the node name “mail” appears in the first line, and Linux takes the first “dotted name” in that line (usually “localhost.localdomain”) as your hostname. If that’s the case, just removing it should solve your problems.

In any event, the node name (eg: “mail”) or hostname (eg: “mail.example.com”) MUST NOT appear in the 127.0.0.1 localhost line.

CHECKING /ETC/SYSCONFIG/NETWORK (REDHAT, FEDORA ET. AL.)

If you have a static IP, then /etc/sysconfig/network will have your initial hostname assignment. It should have the following lines:

NETWORKING=yes
HOSTNAME="mail.example.com"

Stage 3: edit sendmail

Sendmail’s configuration is handled by the file sendmail.cf. Depending on which Linux distro you are running, it may be in /etc/sendmail.cf or /etc/mail/sendmail.cf (probably the latter).

In many installations, the sendmail.cf file is automatically created from a set of “sendmail.mc” files.

This document describes both methods of fixing the problem. If you are using “.mc” files, you should use that method.

If you don’t configure the machine via the “.mc” file:

First, make a backup of your existing .cf file, for reference/recovery.

Sendmail gets its identity from the “j” macro. Look for the line in the .cf file that says something like:

# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#Djlocalhost.localdomain

The “Dj” bit is what you’re looking for. You’ll “D”efine the value of the “j” macro, which is the string used in the HELO when your server connects to somewhere else. You’ll need to remove the leading comment ‘#’. Example:

Djhost.mydomain.com

Stage 4: check again with ehlo command to confirm it return valid value.

Stage 5: remove ip in CBL list

Click on CBL
Roll Down webpage, you will see below text
WARNING: If you continually delist 203.176.130.70 without fixing the problem,the CBL will eventually stop allowing the delisting of 203.176.130.70

// //


Posted by 스트라
,
문의 게시판을 작업하고 있었다.

문의 답변을 적는 스마트 에디터 부분이 화면이 로드될 때마다 이상한 곳으로 이동하고, DB에서 가져온 문의 답변 내용이 사라지는 것이다. 하... 뭐지 대체... 스마트 에디터 쪽은 건드린 게 없는데... 이거 저거 다 해보며 삽질을 했다.

삽질이 너무 길어져 결국 도움 요청.....


1분만에 해결됨.... ㅜㅜ

jsp 코드 상에 id가 contents 인게 두개가 있던 것이다.

하나는 최상위에 있던 <div id="contents"></div>

하나는 내가 적용하려 했던 <textarea id="contents"></textarea>

먼저, 최상위에 있던 contents에 스마트 에디터가 적용이 돼서 문제가 발생한 것이였다.....

textarea의 id를 content로 바꾸고, 스크립트에 에디터 추가하는 부분도 elPlaceHolder : "content" 로 변경하고 새로고침을 해보니 잘 된다.

아아.. 삽질 싫어..

Posted by 스트라
,

var oEditors = [];

nhn.husky.EZCreator.createInIFrame({

    oAppRef: oEditors,

    elPlaceHolder: "contents",

    sSkinURI: "/share/js/SmartEditor/SmartEditor2Skin.html",

    fCreator: "createSEditor2",

    htParams : {fOnBeforeUnload : function(){}} // 이페이지 나오기 alert 삭제

});


뷰 페이지에서 스마트 에디터를 호출한 곳에서

htParams : {} 안에

fOnBeforeUnload : function() {} 를 추가해주면 빠져나갈 때 뜨는 경고창이 사라진다.

Posted by 스트라
,

fn:split 과 fn:length를 적절히 이용하면 lastIndexOf의 기능을 할 수 있다.


자르고 싶은 문자열

"/upload/filename.jpg"


<c:set var="fileName" value="${fn:split(bean.file, '/')}" />

split을 이용하여 문자 / 를 기준으로 문자열을 나누어서 fileName에 배열 형식으로 넣는다.


${fileName[fn:length(fileName)-1]}

fileName의 length-1을 하여 마지막 배열의 값을 가져온다.

Posted by 스트라
,

뭔가 조금 건드린 것 같은데 자꾸 이런 오류가 뜨는 것이다


org.apache.el.parser.ParseException: Encountered " "}" "} "" at line 1, column 3.

Was expecting one of:

    <INTEGER_LITERAL> ...

    <FLOATING_POINT_LITERAL> ...

    <STRING_LITERAL> ...

    "true" ...

    "false" ...

    "null" ...

    "(" ...

    "!" ...

    "not" ...

    "empty" ...

    "-" ...

    <IDENTIFIER> ...



아씨.. 대체 뭐지... 검색을 시작했다.

http://stackoverflow.com/questions/17026849/org-apache-el-parser-parseexception-encountered-at-line-1-column-3

나와 같은 오류를 가진게 아닌가!

답변을 보았다.

---

This is an EL syntax error. It says that it encountered a } while it was expecting one of the listed identifiers or keywords.

This is most likely caused by the following line:

<!--  <h:commandButton value="Change text" actionListener="#{}" /> -->

The #{} is indeed an invalid EL expression.

---

음.. 문법 오류라구? 음? #{} ?? 아 이런!!!!!

function download(seq){

var f = document.f;

//f.seq.value = seq;

//f.action = "/download.do?seq=${}";

f.submit();

}


주석 처리했다고 방심을 했다.

웹 브라우저에서 html, jsp 파일의 주석을 처리하기 전에 웹서버에서 코드 내에 존재하는 jstl을 처리한다.

그때 문법 에러가 발견되기 때문에 웹 브라우저에 화면이 뜨기 전에 웹서버의 오류가 뜨는 것이다.

Posted by 스트라
,