rss
Index: base3.10/src/main/java/egovframework/cross/web/ContentController.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/web/ContentController.java (revision 62)
+++ base3.10/src/main/java/egovframework/cross/web/ContentController.java (nonexistent)
@@ -1,32 +0,0 @@
-package egovframework.cross.web;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import egovframework.rte.fdl.cmmn.exception.EgovBizException;
-
-/**
- * 컨텐츠 페이지 Controller
- * @since 2022. 2. 15
- * @author 임종호
- * <PRE>
- * -----------------------
- * 개정이력
- * 2022. 2. 15 임종호 : 최초작성
- * </PRE>
- */
-@Controller
-public class ContentController {
-
- /**
- * about 페이지
- * @Author : 임종호
- * @Date : 2022. 2. 15
- * @Method Name : selectContentAbout
- * @return : String
- */
- @RequestMapping(value = "/content/about.do")
- public String selectContentAbout() throws EgovBizException {
- return ".defaultSubLayout/cross/content/about";
- }
-}
Index: base3.10/src/main/java/egovframework/cross/rss/web/RssFeedController.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/rss/web/RssFeedController.java (nonexistent)
+++ base3.10/src/main/java/egovframework/cross/rss/web/RssFeedController.java (revision 63)
@@ -0,0 +1,84 @@
+package egovframework.cross.rss.web;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import com.rometools.rome.feed.atom.Category;
+import com.rometools.rome.feed.atom.Content;
+import com.rometools.rome.feed.atom.Feed;
+import com.rometools.rome.feed.atom.Link;
+import com.rometools.rome.feed.atom.Person;
+import com.rometools.rome.feed.synd.SyndPerson;
+
+import egovframework.com.cmm.service.Globals;
+import egovframework.cross.rss.service.RssFeedVO;
+import egovframework.cross.rss.view.RssFeedView;
+
+/**
+ * RSS 피드 Controller
+ *
+ * @since 2022. 2. 16
+ * @author 임종호
+ *
+ * <PRE>
+ * -----------------------
+ * 개정이력
+ * 2022. 2. 16 임종호 : 최초작성
+ * </PRE>
+ */
+@Controller
+public class RssFeedController {
+
+ @Autowired
+ private RssFeedView rssFeedView;
+
+ /**
+ * RSS Feed
+ * @Author : 임종호
+ * @Date : 2022. 2. 16
+ * @Method Name : atom
+ * @return : AtomFeedView
+ */
+ @RequestMapping(value = "/rss.do")
+ public RssFeedView atom(Model model) {
+ // 임시 데이터
+ RssFeedVO vo = new RssFeedVO();
+ vo.setId("");
+ vo.setPublished(new Date());
+ vo.setTitle("제목1111111111");
+ // 링크
+ Link link = new Link();
+ link.setHref("http://naver.com");
+ vo.setAlternateLinks(Collections.singletonList(link));
+
+ // 내용
+ Content content = new Content();
+ content.setValue("<div>내요용요</div>");
+ content.setType("html");
+ vo.setContents(Collections.singletonList(content));
+
+ // 분류
+ Category category = new Category();
+ category.setTerm("카테고리11");
+ vo.setCategories(Collections.singletonList(category));
+
+ // 작성자
+ SyndPerson author = new Person();
+ author.setName("작성자1");
+ vo.setAuthors(Collections.singletonList(author));
+
+ List<RssFeedVO> list = new ArrayList<RssFeedVO>();
+ list.add(vo);
+
+ model.addAttribute("datas", list);
+
+ return rssFeedView;
+ }
+}
Property changes on: base3.10/src/main/java/egovframework/cross/rss/web/RssFeedController.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Index: base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO.java (nonexistent)
+++ base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO.java (revision 63)
@@ -0,0 +1,48 @@
+package egovframework.cross.rss.service;
+
+import java.io.Serializable;
+
+import com.rometools.rome.feed.atom.Entry;
+
+/**
+ * RSS Feed VO
+ *
+ * @since 2022. 2. 16
+ * @author 임종호
+ *
+ * <PRE>
+ * -----------------------
+ * 개정이력
+ * 2022. 2. 16 임종호 : 최초작성
+ * </PRE>
+ */
+public class RssFeedVO extends Entry implements Serializable {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ private String feedId;
+ private String feedTitle;
+ private String feedIcon;
+
+ public String getFeedId() {
+ return feedId;
+ }
+ public void setFeedId(String feedId) {
+ this.feedId = feedId;
+ }
+ public String getFeedTitle() {
+ return feedTitle;
+ }
+ public void setFeedTitle(String feedTitle) {
+ this.feedTitle = feedTitle;
+ }
+ public String getFeedIcon() {
+ return feedIcon;
+ }
+ public void setFeedIcon(String feedIcon) {
+ this.feedIcon = feedIcon;
+ }
+}
\ No newline at end of file
Property changes on: base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Index: base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO2.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO2.java (nonexistent)
+++ base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO2.java (revision 63)
@@ -0,0 +1,94 @@
+package egovframework.cross.rss.service;
+
+import java.util.Date;
+
+/**
+ * RSS Feed VO
+ *
+ * @since 2022. 2. 16
+ * @author 임종호
+ *
+ * <PRE>
+ * -----------------------
+ * 개정이력
+ * 2022. 2. 16 임종호 : 최초작성
+ * </PRE>
+ */
+public class RssFeedVO2 {
+ /** 아이디 */
+ private String id;
+
+ /** 제목 */
+ private String title;
+
+ /** 등록일 */
+ private Date published;
+
+ /** 내용 */
+ private String content;
+
+ /** 분류 */
+ private String category;
+
+ /** 작성자 */
+ private String author;
+
+ /** 링크 */
+ private String link;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Date getPublished() {
+ return published;
+ }
+
+ public void setPublished(Date published) {
+ this.published = published;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public String getAuthor() {
+ return author;
+ }
+
+ public void setAuthor(String author) {
+ this.author = author;
+ }
+
+ public String getLink() {
+ return link;
+ }
+
+ public void setLink(String link) {
+ this.link = link;
+ }
+}
\ No newline at end of file
Property changes on: base3.10/src/main/java/egovframework/cross/rss/service/RssFeedVO2.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Index: base3.10/src/main/java/egovframework/cross/rss/view/RssFeedView.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/rss/view/RssFeedView.java (nonexistent)
+++ base3.10/src/main/java/egovframework/cross/rss/view/RssFeedView.java (revision 63)
@@ -0,0 +1,56 @@
+package egovframework.cross.rss.view;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.view.feed.AbstractAtomFeedView;
+
+import com.rometools.rome.feed.atom.Category;
+import com.rometools.rome.feed.atom.Content;
+import com.rometools.rome.feed.atom.Entry;
+import com.rometools.rome.feed.atom.Feed;
+import com.rometools.rome.feed.atom.Link;
+import com.rometools.rome.feed.atom.Person;
+import com.rometools.rome.feed.synd.SyndPerson;
+
+import egovframework.com.cmm.service.Globals;
+import egovframework.cross.rss.service.RssFeedVO;
+
+/**
+ * Atom Feed View
+ *
+ * @since 2022. 2. 16
+ * @author 임종호
+ *
+ * <PRE>
+ * -----------------------
+ * 개정이력
+ * 2022. 2. 16 임종호 : 최초작성
+ * </PRE>
+ */
+@Component
+public class RssFeedView extends AbstractAtomFeedView {
+
+ @Override
+ protected void buildFeedMetadata(Map<String, Object> model, Feed feed, HttpServletRequest request) {
+ setContentType(MediaType.APPLICATION_XML_VALUE);
+ feed.setId(Globals.SITE_ADDRESS);
+ feed.setTitle(Globals.SITE_NAME);
+ feed.setIcon(Globals.SITE_ADDRESS + "/images/user/favicon.ico");
+ }
+
+ @Override
+ protected List buildFeedEntries(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+ List<RssFeedVO> datas = (List<RssFeedVO>) model.get("datas");
+ return datas;
+ }
+
+}
Property changes on: base3.10/src/main/java/egovframework/cross/rss/view/RssFeedView.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Index: base3.10/src/main/java/egovframework/cross/content/web/ContentController.java
===================================================================
--- base3.10/src/main/java/egovframework/cross/content/web/ContentController.java (nonexistent)
+++ base3.10/src/main/java/egovframework/cross/content/web/ContentController.java (revision 63)
@@ -0,0 +1,32 @@
+package egovframework.cross.content.web;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import egovframework.rte.fdl.cmmn.exception.EgovBizException;
+
+/**
+ * 컨텐츠 페이지 Controller
+ * @since 2022. 2. 15
+ * @author 임종호
+ * <PRE>
+ * -----------------------
+ * 개정이력
+ * 2022. 2. 15 임종호 : 최초작성
+ * </PRE>
+ */
+@Controller
+public class ContentController {
+
+ /**
+ * about 페이지
+ * @Author : 임종호
+ * @Date : 2022. 2. 15
+ * @Method Name : selectContentAbout
+ * @return : String
+ */
+ @RequestMapping(value = "/content/about.do")
+ public String selectContentAbout() throws EgovBizException {
+ return ".defaultSubLayout/cross/content/about";
+ }
+}
Property changes on: base3.10/src/main/java/egovframework/cross/content/web/ContentController.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Index: base3.10/src/main/java/egovframework/com/cmm/service/Globals.java
===================================================================
--- base3.10/src/main/java/egovframework/com/cmm/service/Globals.java (revision 62)
+++ base3.10/src/main/java/egovframework/com/cmm/service/Globals.java (revision 63)
@@ -23,6 +23,10 @@
public static final String DB_TYPE = EgovProperties.getProperty("Globals.DbType");
//메인 페이지
public static final String MAIN_PAGE = EgovProperties.getProperty("Globals.MainPage");
+ //사이트 주소
+ public static final String SITE_ADDRESS = EgovProperties.getProperty("Globals.SiteAddres");
+ //사이트명
+ public static final String SITE_NAME = EgovProperties.getProperty("Globals.SiteName");
//ShellFile 경로
public static final String SHELL_FILE_PATH = EgovProperties.getPathProperty("Globals.ShellFilePath");
//퍼로퍼티 파일 위치
@@ -55,5 +59,4 @@
//SMS 정보 프로퍼티 위치
public static final String SMSDB_CONF_PATH = EgovProperties.getPathProperty("Globals.SmsDbConfPath");
-
}
Index: base3.10/src/main/resources/egovframework/egovProps/globals.properties
===================================================================
--- base3.10/src/main/resources/egovframework/egovProps/globals.properties (revision 62)
+++ base3.10/src/main/resources/egovframework/egovProps/globals.properties (revision 63)
@@ -28,6 +28,10 @@
# MainPage Setting
Globals.MainPage = /index.do
+# SiteAddres Setting
+Globals.SiteName = \ud06c\ub85c\uc2a4\ub85c\ub4dc \uc6f9\uc9c4
+Globals.SiteAddres = http://iknit.co.kr:18082
+
# \uc704\uc800\ub4dc \uc0ac\uc6a9\uc2dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \ubd88\ub7ec\uc634
# KISA \uac80\uc99d (2019\ub144 11\uc6d4) - \uc911\uc694\uc815\ubcf4 \uc554\ud638\ud654
Index: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml
===================================================================
--- base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml (revision 62)
+++ base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml (revision 63)
@@ -34,6 +34,8 @@
<mvc:exclude-mapping path="/editor/fileListView.do" />
<mvc:exclude-mapping path="/cop/cmt/*/selectArticleCommentList.do" />
<mvc:exclude-mapping path="/menu/program/ProgrmListTreeSelect.do" />
+ <!-- RSS 피드 -->
+ <mvc:exclude-mapping path="/rss.do" />
<bean class="egovframework.com.cmm.interceptor.AuthenticInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
Index: base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp
===================================================================
--- base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp (revision 62)
+++ base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp (revision 63)
@@ -14,8 +14,8 @@
<meta property="og:title" content="크로스로드">
<meta property="og:url" content="http://crossroads.apctp.org/">
<meta property="og:description" content="크로스로드 웹진">
- <meta property="og:image" content="<c:url value='/images/user/logo.svg'/>">
-
+ <meta property="og:image" content="http://iknit.co.kr:18082/images/user/main_bg.jpg">
+
<link rel="icon" href="<c:url value='/images/user/favicon.ico'/>" type="image/x-icon" />
<tiles:insertAttribute name="header" />
</head>
Index: base3.10/pom.xml
===================================================================
--- base3.10/pom.xml (revision 62)
+++ base3.10/pom.xml (revision 63)
@@ -678,6 +678,14 @@
<artifactId>lucy-xss-servlet</artifactId>
<version>2.0.0</version>
</dependency>
+
+ <!-- RSS feed 생성 -->
+ <dependency>
+ <groupId>com.rometools</groupId>
+ <artifactId>rome</artifactId>
+ <version>1.18.0</version>
+ </dependency>
+
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?