function uft8html2utf8( $s ) { if ( !function_exists('uft8html2utf8_callback') ) { function uft8html2utf8_callback($t) { $dec = $t[1]; if ($dec < 128) { $utf = chr($dec); } else if ($dec < 2048) { $utf = chr(192 + (($dec - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } else { $utf = chr(224 + (($dec - ($dec % 4096)) / 4096)); $utf .= chr(128 + ((($dec % 4096) - ($dec % 64)) / 64)); $utf .= chr(128 + ($dec % 64)); } return $utf; } } return preg_replace_callback('|([0-9]{1,});|', 'uft8html2utf8_callback', $s ); } function addMe2DaySkin($target, $mother) { global $entryView; requireComponent("Tattertools.Function.misc"); $me2day = getMe2Day(); misc::dress('Me2Day', $me2day, $entryView); return $target; } function addMe2DaySB($parameter) { global $configVal; requireComponent( "Tattertools.Function.misc"); $data = misc::fetchConfigVal($configVal); if (isset($parameter['preview'])) { // preview mode $retval = "미투데이에 올린 자신의 글을 확인할 수 있습니다."; return $retval; } $me2day = getMe2Day(); if($data['sb_use'] == 'T') { return $me2day; }return; } function getMe2Day(){ global $pluginURL, $entryView, $configVal; requireComponent('Eolin.PHP.HTTPRequest'); requireComponent('Tattertools.Function.misc'); requireComponent('Eolin.PHP.Core'); $data = misc::fetchConfigVal($configVal); $me2day_id=split(',',$data['me2day_url']); for($i=0; $i < count($me2day_id); $i++) { $me2day_url = 'http://me2day.net/'.$me2day_id[$i]; $me2day_rss = $me2day_url.'/rss'; $request = new HTTPRequest($me2day_rss); $request->timeout = 1; if ($request->send()){ $rst = $request->responseText; } // $rst = html_entity_decode($rst); $rst = uft8html2utf8($rst); $xmls = new XMLStruct(); $xmls->open($rst); if($xmls->doesExist('/rss/channel/title')) { $title=$xmls->getValue('/rss/channel/title'); } if($xmls->doesExist('/rss/channel/link')) { $link=$xmls->getValue('/rss/channel/link'); } $rankicon = ($data['icon_use']=='T')?" style=\"margin:4px 0px 0px 0px;padding:0px;list-style:none;margin-left:1px;\"":""; list($me2dayer, $temp) = split('님의 ', $title); $me2day .= $data['md_header']."\n"; $me2day .= "
$max_data[visits]
"; if($cut_peak == 'true') $target .= $avg; else $target .= round($max_data[visits]/2); $target .="
-$how_day days
today : $lastvisit
Struts2 의 기본적인 운영환경은 아래와 같습니다. - Servlet API 2.4 - JSP API 2.0 - Java 5따라서 Struts2를 적용하기 위해서는 Java 와 어플리케이션 서버의 Java EE 버전의 호환 여부를 잘 살펴봐야 합니다.만약 Java 4를 사용하고 있다면아래의 Struts2 라이브러리 및 관련 라이브러리를 Java 4와 호환가능한 라이브러로 교체해 주어야 합니다. - strut2-core-2.x.x.jar - xwork-2.x.x.jar - struts2-spring-plugin-2.x.x.jar호환되는 라이브러리는 Struts2 홈페이지에서 다운로드하거나 Retrotranslator 를 이용하여 기존의 라이브러리를 Java 4를 지원하도록 변환해야 합니다.Retrotranslator 를 다운로드하신 다음에 아래와 같이 변경해 주시면 됩니다.
Retrotranslator Maven 플러그인도 한번 살펴봐야 되겠네요
java, jcf, struts2
트랙백 없음 | 댓글 1개
트랙백+댓글 | 트랙백 | 댓글
http://www.expertvill.net/tc/jcfblog/trackback/12
호환성 이슈에 대해 jcf 에서의 처리에 관해 이슈트랙커에 올려두었습니다.
setq 2008/01/04 10:06