package com.salesmanager.shop.tags; import javax.inject.Inject; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.servlet.tags.RequestContextAwareTag; import com.salesmanager.core.business.services.content.ContentService; import com.salesmanager.core.model.content.Content; import com.salesmanager.core.model.content.ContentDescription; import com.salesmanager.core.model.merchant.MerchantStore; import com.salesmanager.core.model.reference.language.Language; import com.salesmanager.shop.constants.Constants; public class PageContentTag extends RequestContextAwareTag { /** * */ private static final long serialVersionUID = 1L; private static final Logger LOGGER = LoggerFactory.getLogger(PageContentTag.class); @Inject private ContentService contentService; private String contentCode; public String getContentCode() { return contentCode; } public void setContentCode(String contentCode) { this.contentCode = contentCode; } @Override protected int doStartTagInternal() throws Exception { if (contentService == null || contentService==null) { LOGGER.debug("Autowiring contentService"); WebApplicationContext wac = getRequestContext().getWebApplicationContext(); AutowireCapableBeanFactory factory = wac.getAutowireCapableBeanFactory(); factory.autowireBean(this); } HttpServletRequest request = (HttpServletRequest) pageContext .getRequest(); Language language = (Language)request.getAttribute(Constants.LANGUAGE); MerchantStore store = (MerchantStore)request.getAttribute(Constants.MERCHANT_STORE); Content content = contentService.getByCode(contentCode, store, language); String pageContent = ""; if(content!=null) { ContentDescription description = content.getDescription(); if(description != null) { pageContent = description.getDescription(); } } pageContext.getOut().print(pageContent); return SKIP_BODY; } public int doEndTag() { return EVAL_PAGE; } }