如题,struts.xml
<action name="index" method="memberCenter" class="cms.xx">
<result>/WEB-INF/template/default/user/index.html </result>
</action>这个user文件夹下有index.html,有right.html
在这个index.html中<iframe src="right.html"></iframe>如果直接用ie打开这个index.html,是正常的,但如果用struts2来返回到这个页面上,iframe中显示您所访问的页面不存在。请问为什么?应该怎样解决?谢谢。

解决方案 »

  1.   

    1.配置文件:
    <action name="index" method="memberCenter" class="cms.xx"> 
        <result>/WEB-INF/template/default/user/index.html </result> 
    </action>
    <action name="right" method="memberCenter" class="cms.xx"> 
        <result>/WEB-INF/template/default/user/right.html </result> 
    </action> 2.Jsp写法:
    index.html中 <iframe src="right.action"> </iframe>
      

  2.   

    这是struts解析路径的问题。
    假如你是http://localhost:8080/test/abc.action访问
    虽然struts能根据配置文件找到index.html
    但是index.html页面的相对路径会去找http://localhost:8080/test/下的页面。
    这种方式最好是使用绝对路径,就不会出问题
      

  3.   


    感谢帮忙,如果只包个静态的html,也需要二次请求吗?
      

  4.   

    <result>/WEB-INF/template/default/user/index.html </result> 
    路径有问题。
    根据你的 struts namespace="/"有关系。好好在看看。
      

  5.   

    <action name="index" method="memberCenter" class="cms.xx"> 
        <result>/template/default/user/index.html </result> 
    </action>这样配就好了
      

  6.   

    把right.html这个文件丢到WEB-INF文件夹外面,然后改下你index.html中的src路径就好了客户端不能直接访问WEB-INF下的任何东西,而你的iframe进行了这个请求
      

  7.   

    <iframe src="right.html"> </iframe>
    这个写法是错误的
    默认是不能够访问web-inf下面的文件的
    要访问必须要将路径写全