package social.front;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.util.UriComponentsBuilder;
import social.data.*;

@Controller
@RequestMapping(path="/")
public class LinkShare {
	@Autowired // This means to get the bean called userRepository
    // Which is auto-generated by Spring, we will use it to handle the data
	private LinkRepository linkRepository;
	
	@GetMapping(path="/v1/{u}")
	public String  getAllUsers( @PathVariable String u, HttpServletRequest request, Model model ) throws UnsupportedEncodingException {
		List<LinkInfo> linkInfolist =  linkRepository.findByUrlkey(u);
		if(linkInfolist.size() == 0)
			return "errorpage";
		
		LinkInfo linkinfo = linkInfolist.get(0);		
		String refUrl = request.getHeader("Referer");						
		model.addAttribute("title", linkinfo.getTitle());
		model.addAttribute("image", linkinfo.getImageurl());
		model.addAttribute("description", linkinfo.getContent());
		String cururl = "http://localhost:8080/v1/l?u=" + u;
		model.addAttribute("url", cururl );		
		String rederUrl = URLDecoder.decode(linkinfo.getRenderurl(), "UTF-8");		
		model.addAttribute("reurl", rederUrl );
		
		String remoteAddr = "";
        if (request != null) {
            remoteAddr = request.getHeader("X-FORWARDED-FOR");
            if (remoteAddr == null || "".equals(remoteAddr)) {
                remoteAddr = request.getRemoteAddr();
            }
        }
        
        //Param분석
        if (refUrl != null) {
        	MultiValueMap<String, String> parameters =
                    UriComponentsBuilder.fromUriString(refUrl).build().getQueryParams();
            List<String> blogId = parameters.get("blogId");
            List<String> logNo = parameters.get("logNo");
            List<String> categoryNo = parameters.get("categoryNo");
        	
        }
				
		System.out.println("refurl:" + refUrl );
		System.out.println("remoteAddr:" + remoteAddr );
		
		return "redirectpage";
	}
}




<!DOCTYPE HTML>

<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Serving Web Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta property="og:title" th:content="${title}" />
    <meta property="og:url" th:content="${url}" />          
    <meta property="og:image" th:content="${image}" />
    <meta property="og:description" th:content="${description}" />
    <meta property="og:type" content="article" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<input type="hidden" id="jsonUrl" th:value='${reurl}'/>

<input type="hidden" id="og_title" th:value='${title}'/>
<input type="hidden" id="og_url" th:value='${url}'/>
<input type="hidden" id="og_image" th:value='${image}'/>
<input type="hidden" id="og_des" th:value='${description}'/>
<input type="hidden" id="og_reurl" th:value='${reurl}'/>

<script type="text/javascript">
	$( document ).ready(function() {
		var reurl = $('#jsonUrl').val();
		var debugInfo = $('#og_title').val() + '\r\n' + $('#og_url').val() + '\r\n' + $('#og_image').val() + '\r\n' + $('#og_des').val() + '\r\n' + $('#og_reurl').val();
		alert(debugInfo);
		window.location.replace(reurl);
	});
</script>
</body>

</html>
  • No labels