div嵌套页面 div加载页面 (其中获取目标页面的内容是用dwr框架连接java程序做的)

  前段时间因为有需要,要在div中加载一个页面。但是以前没做过,不懂。于是到网上查了很多资料都没有相关的东西。后来在前辈的指点下明白了一些,现分亨给大家。

首先一个页面:

sub.html  这个页面我布曙在iis上。路径为http://192.168.1.100:81/sub.html,这个页面里边引用了一个外部js文件。还有两个页面内函数。

sub.html页面。

sub.js文件里边有一个函数:sub_js(){alert("sub_js()");}

 

然后要加载该页面的div的页面。下边在获取字符串中的js或css文件时,有可能有其它的不符合规定的出现,因此这里可能解析代码不正确,如果你有好的解析方法,就给我指点指点吧。。。

 

parent.html

这个页面里边使用了dwr来读取目标页面的全部内容(以字符串形势返回,如果不懂dwr的话,可以使用其它ajax技术来得到),下边使用的是dwr框架来读取目标页面内容的java代码。

 

 package sky.dwr; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import org.directwebremoting.annotations.RemoteMethod; import org.directwebremoting.annotations.RemoteProxy; import org.directwebremoting.annotations.ScriptScope; import org.directwebremoting.create.NewCreator; /** * 得到指定url的页面内容 * * @author sky * */ // dwr元注释配置 @RemoteProxy(name = "httpContentRead", creator = NewCreator.class, scope = ScriptScope.PAGE) public class HttpContentRead { /** * 根据指定的解码方式得到目标页面的内容。 * * @param urlStr * 目标页面的url * @param encoding * 指定的解码方式 * @return 返回得到的内容 */ @RemoteMethod public String getContextEncoding(String urlStr, String encoding) { URL url = null; BufferedReader br = null; try { url = new URL(urlStr);// 建立url对象 InputStream is = url.openStream();// 得到一个字节输入流 br = new BufferedReader(new InputStreamReader(is, encoding));// 创建一个BufferedReader对象 } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("error"); } // 读取页面中的内容 String str = null; StringBuilder sb = new StringBuilder(); try { while ((str = br.readLine()) != null) { sb.append(str + "/n"); } } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("error2"); } return sb.toString();// 返回得到的内容 } /** * 得到页面的内容(默认使用utf-8编码) * * @param url * 要得到内容的页面的url * @return 返回得到的内容 */ @RemoteMethod public String getContext(String url) { return getContextEncoding(url, "utf-8"); } }

你可能感兴趣的:(div,dwr,框架,java,url,function)