最近在做页面时,需要在首页中引入另一张页面的模块,两块模块的展现形式一模一样。本打算自己开发Action最后因为代码的复用方面的考虑,还有一点是因为我存在死心,如果又我开发Action,那么当他们那边升级时,我这边也得做相应的升级很麻烦的。所以就写了这么各类,直接将它们写好的页面拉过来用就OK了。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.apache.log4j.Logger;
public class HttpUrlUtil {
private static Logger log = Logger.getLogger(HttpUrlUtil.class);
private static String encoding = "GBK";
public static String getContenFromUrl(String url){
if(url==null||"".equals(url)){
log.debug("url为空,页面会漂白");
}
StringBuffer sb = new StringBuffer();
HttpURLConnection urlConnection = null;
try{
URL toUrl = new URL(url);
urlConnection = (HttpURLConnection) toUrl.openConnection();
urlConnection.setConnectTimeout(5000);
urlConnection.connect();
if(urlConnection.getResponseCode()==200){
BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),encoding));
String line = br.readLine();
while(line != null){
sb.append(line);
line = br.readLine();
}
}
}catch(Exception ex){
log.debug("");
}finally{
if(urlConnection!=null){
urlConnection.disconnect();
}
}
return sb.toString();
}
}
在JSP页面直接引入就OK了
<s:property value="@com.koubei.portal.city.util.HttpUrlUtil@getContenFromUrl('http://city.koubei.com')" escape="false"/>