SNS - 페이스북, 트위터, 미투데이등.. SNS 붙이기
Posted 07 6, 2011 11:08, Filed under: Language/EtcgetCurrentlyURL.java
/**
* Comment : 현재 페이지의 서블릿 URL 전체 경로를 추출.
*/
public static String getCurrentlyURL(HttpServletRequest req){
Enumeration<?> param = req.getParameterNames();
StringBuffer strParam = new StringBuffer();
StringBuffer strURL = new StringBuffer();
if (param.hasMoreElements()){
strParam.append("?");
}
while (param.hasMoreElements()){
String name = (String) param.nextElement();
String value = req.getParameter(name);
strParam.append(name + "=" + value);
if (param.hasMoreElements()){
strParam.append("&");
}
}
String url;
if(req.getAttribute("javax.servlet.forward.request_uri") == null) {
url = req.getRequestURI().toString();
}
else {
url = req.getAttribute("javax.servlet.forward.request_uri").toString();
}
// contextPath 제거, 필요한 값(/index.do)
url = url.replace(req.getContextPath(),"");
//# URL 에서 URI 를 제거, 필요 값만 사용(프로토콜, 호스트, 포트)
String getUrl = req.getRequestURL().toString().replace(req.getRequestURI(), "");
strURL.append(getUrl);
strURL.append(url); // servlet 경로 : /index.do
strURL.append(strParam); // getQueryString() 값
// 전체 추출 경로 : http://www.aaa.co.kr/index.do?type=aaa(쿼리스트링)
return strURL.toString();
}
JSP
<%@ page import="com.util.Utilities" %>
<%@ page import="java.net.URLEncoder" %>
<%
// SNS 로 넘길 URL 경로 전체와 제목을 를 인코딩 함
String urlEnc = URLEncoder.encode(Utilities.getCurrentlyURL(request), "utf-8");
Report report = (Report)request.getAttribute("report");
String pubTitle = URLEncoder.encode("\""+report.getReportTitle()+"\"", "utf-8");
// 트위터 타이틀에 "" 있을시, 교차 사이트 스크립팅 오류
String twitterTitle = URLEncoder.encode(report.getReportTitle(), "utf-8");
%>
<c:set var="currentlyEncURL" value="<%=urlEnc%>" />
<c:set var="facebookTitle" value="<%=pubTitle%>" />
<c:set var="twitterTitle" value="<%=twitterTitle%>" />
<c:set var="me2dayTitle" value="<%=pubTitle%>" />
<div id="snsSet">
<a href="http://www.facebook.com/share.php?u=${currentlyEncURL}&t=${facebookTitle}" target="blank"><img src="${contextPath}/img/sns/facebook_b.gif" alt="페이스북 보내기" /></a>
<a href="http://twitter.com/share?url=${currentlyEncURL}&text=${twitterTitle}" target="blank"><img src="${contextPath}/img/sns/twitter_b.gif" alt="트위터 보내기" /></a>
<a href="http://me2day.net/posts/new?new_post[body]=${me2dayTitle}:${currentlyEncURL}&new_post[tags]=${me2dayTitle}" target="blank"><img src="${contextPath}/img/sns/me2day_b.gif" alt="미투데이 보내기" /></a>
</div>
"Language / Etc" 분류의 다른 글
| C 언어 (0) | 2010/04/02 |
| bat 파일로 FTP 파일 업, 다운로드 (0) | 2009/10/16 |
| 프로그램 언어의 역사 이미지 (0) | 2009/06/19 |
| Http 통신규약 문서 (0) | 2009/06/16 |
| 필드 갯수만큼 출력, 개행 (0) | 2009/04/01 |
| 선택 정렬(Selection Sort) (0) | 2009/03/20 |
| Algorism - 최대값을 기준으로 여러개의 입력받은 값을 나눔. (0) | 2009/03/02 |
Trackback URL : http://develop.sunshiny.co.kr/trackback/641
-
이거 어떻게 사용하는건가요..
죄송하지만 예제좀 만들어서 제 메일로 보내주시면 안될까요 ㅠㅠ
배우고싶은데 아무리 찾아봐도 어렵네요 ㅠ..
mose_love@naver.com 부탁드립니다 ㅠ-
메일 보내드렸습니다.
좋은 하루 보내세요^^
-

http11_rules.hwp